# आफ्नो IoT उपकरणबाट वस्तु पत्ता लगाउने उपकरणलाई कल गर्नुहोस् - भर्चुअल IoT हार्डवेयर र रास्पबेरी पाई एक पटक तपाईंको वस्तु पत्ता लगाउने उपकरण प्रकाशित भएपछि, यसलाई तपाईंको IoT उपकरणबाट प्रयोग गर्न सकिन्छ। ## छवि वर्गीकरण परियोजना प्रतिलिपि गर्नुहोस् तपाईंको स्टक पत्ता लगाउने उपकरणको अधिकांश भाग तपाईंले अघिल्लो पाठमा बनाएको छवि वर्गीकरण उपकरणसँग मिल्दोजुल्दो छ। ### कार्य - छवि वर्गीकरण परियोजना प्रतिलिपि गर्नुहोस् 1. `stock-counter` नामको एउटा फोल्डर बनाउनुहोस्, चाहे तपाईं भर्चुअल IoT उपकरण प्रयोग गर्दै हुनुहुन्छ भने तपाईंको कम्प्युटरमा, वा तपाईंको रास्पबेरी पाईमा। यदि तपाईं भर्चुअल IoT उपकरण प्रयोग गर्दै हुनुहुन्छ भने, भर्चुअल वातावरण सेटअप गर्न निश्चित गर्नुहोस्। 1. क्यामेरा हार्डवेयर सेटअप गर्नुहोस्। * यदि तपाईं रास्पबेरी पाई प्रयोग गर्दै हुनुहुन्छ भने, तपाईंले PiCamera फिट गर्नुपर्नेछ। तपाईं क्यामेरालाई स्थिर स्थानमा राख्न चाहनुहुन्छ भने, उदाहरणका लागि, केबललाई बक्स वा क्यानमाथि झुन्ड्याएर, वा डबल-साइड टेपको प्रयोग गरेर बक्समा क्यामेरा टाँस्न सक्नुहुन्छ। * यदि तपाईं भर्चुअल IoT उपकरण प्रयोग गर्दै हुनुहुन्छ भने, तपाईंले CounterFit र CounterFit PyCamera शिम स्थापना गर्नुपर्नेछ। यदि तपाईं स्थिर छविहरू प्रयोग गर्दै हुनुहुन्छ भने, तपाईंको वस्तु पत्ता लगाउने उपकरणले अहिलेसम्म नदेखेका केही छविहरू खिच्नुहोस्। यदि तपाईं आफ्नो वेब क्याम प्रयोग गर्दै हुनुहुन्छ भने, यो तपाईं पत्ता लगाउन चाहेको स्टक देख्न सक्ने तरिकाले राखिएको छ भनेर सुनिश्चित गर्नुहोस्। 1. [निर्माण परियोजनाको पाठ २](../../../4-manufacturing/lessons/2-check-fruit-from-device/README.md#task---capture-an-image-using-an-iot-device) बाट क्यामेराबाट छविहरू खिच्ने चरणहरू पुन: प्रयोग गर्नुहोस्। 1. [निर्माण परियोजनाको पाठ २](../../../4-manufacturing/lessons/2-check-fruit-from-device/README.md#task---classify-images-from-your-iot-device) बाट छविहरू वर्गीकृत गर्ने चरणहरू पुन: प्रयोग गर्नुहोस्। यो कोडको अधिकांश भाग वस्तु पत्ता लगाउन पुन: प्रयोग गरिनेछ। ## कोडलाई वर्गीकरण उपकरणबाट छवि पत्ता लगाउने उपकरणमा परिवर्तन गर्नुहोस् तपाईंले छविहरू वर्गीकृत गर्न प्रयोग गरेको कोड वस्तु पत्ता लगाउन प्रयोग हुने कोडसँग धेरै मिल्दोजुल्दो छ। मुख्य भिन्नता भनेको Custom Vision SDK मा प्रयोग गरिएको विधि र कलको परिणाम हो। ### कार्य - कोडलाई वर्गीकरण उपकरणबाट छवि पत्ता लगाउने उपकरणमा परिवर्तन गर्नुहोस् 1. छवि वर्गीकृत गर्ने र भविष्यवाणीहरू प्रक्रिया गर्ने तीन लाइन कोड मेट्नुहोस्: ```python results = predictor.classify_image(project_id, iteration_name, image) for prediction in results.predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%') ``` यी तीन लाइनहरू हटाउनुहोस्। 1. छविमा वस्तु पत्ता लगाउन निम्न कोड थप्नुहोस्: ```python 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` विधिलाई predictor मा कल गरेर वस्तु पत्ता लगाउने उपकरण चलाउँछ। यसले त्यसपछि थ्रेसहोल्डभन्दा माथिको सम्भावनासहितका सबै भविष्यवाणीहरू सङ्कलन गर्छ र तिनीहरूलाई कन्सोलमा प्रिन्ट गर्छ। छवि वर्गीकरण उपकरणले प्रत्येक ट्यागका लागि केवल एक नतिजा फर्काउँछ भने, वस्तु पत्ता लगाउने उपकरणले धेरै नतिजा फर्काउँछ, त्यसैले कम सम्भावनाका भविष्यवाणीहरू फिल्टर गर्न आवश्यक छ। 1. यो कोड चलाउनुहोस्, जसले छवि खिच्छ, यसलाई वस्तु पत्ता लगाउने उपकरणमा पठाउँछ, र पत्ता लगाइएका वस्तुहरू प्रिन्ट गर्छ। यदि तपाईं भर्चुअल IoT उपकरण प्रयोग गर्दै हुनुहुन्छ भने, CounterFit मा उपयुक्त छवि सेट गरिएको छ वा तपाईंको वेब क्याम चयन गरिएको छ भनेर सुनिश्चित गर्नुहोस्। यदि तपाईं रास्पबेरी पाई प्रयोग गर्दै हुनुहुन्छ भने, तपाईंको क्यामेरा शेल्फमा रहेका वस्तुहरूतर्फ संकेत गरिएको छ भनेर सुनिश्चित गर्नुहोस्। ```output 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** ट्याबमा देख्न सक्नुहुन्छ। ![शेल्फमा ४ वटा टमाटर पेस्टका क्यानहरू, जसमा ३५.८%, ३३.५%, २५.७% र १६.६% को भविष्यवाणीहरू देखिएका छन्](../../../../../translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.ne.png) > 💁 तपाईंले यो कोड [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) वा [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device) फोल्डरमा फेला पार्न सक्नुहुन्छ। 😀 तपाईंको स्टक काउन्टर कार्यक्रम सफल भयो! --- **अस्वीकरण**: यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरी अनुवाद गरिएको हो। हामी यथासम्भव सटीकता सुनिश्चित गर्न प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषामा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्त्वपूर्ण जानकारीका लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।