# IoT उपकरणबाट फलफूलको गुणस्तर जाँच गर्नुहोस् ![यस पाठको स्केच नोटको अवलोकन](../../../../../translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.ne.jpg) > स्केच नोट [नित्या नरसिम्हन](https://github.com/nitya) द्वारा। ठूलो संस्करणको लागि तस्बिरमा क्लिक गर्नुहोस्। ## पाठ अघि क्विज [पाठ अघि क्विज](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/31) ## परिचय अघिल्लो पाठमा तपाईंले छवि वर्गीकरणकर्ताहरू (image classifiers) को बारेमा सिक्नुभयो, र तिनीहरूलाई राम्रो र नराम्रो फलफूल छुट्याउन कसरी तालिम दिने भन्ने कुरा पनि। यो छवि वर्गीकरणकर्तालाई IoT अनुप्रयोगमा प्रयोग गर्न, तपाईंले कुनै प्रकारको क्यामेरा प्रयोग गरेर छवि कैद गर्न र यो छवि वर्गीकरणका लागि क्लाउडमा पठाउन सक्षम हुनुपर्छ। यस पाठमा तपाईं क्यामेरा सेन्सरहरूको बारेमा सिक्नुहुनेछ, र IoT उपकरणसँग तिनीहरूलाई कसरी प्रयोग गर्ने भनेर पनि। साथै, तपाईं IoT उपकरणबाट छवि वर्गीकरणकर्तालाई कसरी कल गर्ने भन्ने कुरा पनि सिक्नुहुनेछ। यस पाठमा हामीले समेट्ने विषयहरू: * [क्यामेरा सेन्सरहरू](../../../../../4-manufacturing/lessons/2-check-fruit-from-device) * [IoT उपकरण प्रयोग गरेर छवि कैद गर्नुहोस्](../../../../../4-manufacturing/lessons/2-check-fruit-from-device) * [तपाईंको छवि वर्गीकरणकर्ता प्रकाशित गर्नुहोस्](../../../../../4-manufacturing/lessons/2-check-fruit-from-device) * [IoT उपकरणबाट छविहरू वर्गीकरण गर्नुहोस्](../../../../../4-manufacturing/lessons/2-check-fruit-from-device) * [मोडेल सुधार गर्नुहोस्](../../../../../4-manufacturing/lessons/2-check-fruit-from-device) ## क्यामेरा सेन्सरहरू क्यामेरा सेन्सरहरू, नामले नै जनाएझैं, क्यामेराहरू हुन् जसलाई तपाईं IoT उपकरणसँग जडान गर्न सक्नुहुन्छ। तिनीहरूले स्थिर छविहरू लिन सक्छन्, वा स्ट्रिमिङ भिडियो कैद गर्न सक्छन्। केहीले कच्चा छवि डेटा फिर्ता गर्छन्, भने केहीले JPEG वा PNG जस्ता छवि फाइलमा डेटा कम्प्रेस गर्छन्। सामान्यतया IoT उपकरणहरूसँग काम गर्ने क्यामेराहरू साना र कम रिजोल्युसनका हुन्छन्, तर तपाईं उच्च रिजोल्युसनका क्यामेराहरू पनि प्राप्त गर्न सक्नुहुन्छ जसले उच्चस्तरीय फोनहरूसँग प्रतिस्पर्धा गर्न सक्छ। तपाईंले विभिन्न प्रकारका लेन्सहरू, बहु-क्यामेरा सेटअपहरू, इन्फ्रारेड थर्मल क्यामेराहरू, वा UV क्यामेराहरू पनि प्राप्त गर्न सक्नुहुन्छ। ![दृश्यबाट आउने प्रकाश लेन्सबाट पास भएर CMOS सेन्सरमा केन्द्रित हुन्छ](../../../../../translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.ne.png) धेरैजसो क्यामेरा सेन्सरहरूले छवि सेन्सरहरू प्रयोग गर्छन् जहाँ प्रत्येक पिक्सेल एक फोटोडायोड हो। लेन्सले छविलाई छवि सेन्सरमा केन्द्रित गर्छ, र हजारौं वा लाखौं फोटोडायोडहरूले प्रत्येकमा पर्ने प्रकाश पत्ता लगाउँछन् र त्यसलाई पिक्सेल डेटा रूपमा रेकर्ड गर्छन्। > 💁 लेन्सहरूले छविलाई उल्टो बनाउँछन्, त्यसपछि क्यामेरा सेन्सरले छविलाई सही दिशामा फर्काउँछ। यो तपाईंको आँखामा पनि उस्तै हुन्छ - तपाईंले देख्ने कुरा तपाईंको आँखाको पछाडि उल्टो रूपमा पत्ता लाग्छ र तपाईंको मस्तिष्कले यसलाई सुधार गर्छ। > 🎓 छवि सेन्सरलाई Active-Pixel Sensor (APS) भनिन्छ, र APS को सबैभन्दा लोकप्रिय प्रकारलाई complementary metal-oxide semiconductor sensor, वा CMOS भनिन्छ। तपाईंले क्यामेरा सेन्सरहरूको लागि CMOS सेन्सर भन्ने शब्द सुन्नुभएको हुन सक्छ। क्यामेरा सेन्सरहरू डिजिटल सेन्सरहरू हुन्, जसले छवि डेटा डिजिटल डेटा रूपमा पठाउँछन्, सामान्यतया संचारका लागि पुस्तकालय (library) को सहयोगमा। क्यामेराहरू SPI जस्ता प्रोटोकलहरू प्रयोग गरेर जडान गर्छन् जसले तिनीहरूलाई ठूलो मात्रामा डेटा पठाउन अनुमति दिन्छ - छविहरू तापक्रम सेन्सर जस्ता सेन्सरबाट आउने एकल संख्याहरूभन्दा धेरै ठूलो हुन्छन्। ✅ IoT उपकरणहरूसँग छवि आकारको वरिपरि के सीमाहरू छन्? विशेष गरी माइक्रोकन्ट्रोलर हार्डवेयरमा रहेका बाधाहरूको बारेमा सोच्नुहोस्। ## IoT उपकरण प्रयोग गरेर छवि कैद गर्नुहोस् तपाईं आफ्नो IoT उपकरण प्रयोग गरेर वर्गीकरणका लागि छवि कैद गर्न सक्नुहुन्छ। ### कार्य - IoT उपकरण प्रयोग गरेर छवि कैद गर्नुहोस् तपाईंको IoT उपकरण प्रयोग गरेर छवि कैद गर्न सम्बन्धित मार्गदर्शन पूरा गर्नुहोस्: * [Arduino - Wio Terminal](wio-terminal-camera.md) * [Single-board computer - Raspberry Pi](pi-camera.md) * [Single-board computer - Virtual device](virtual-device-camera.md) ## तपाईंको छवि वर्गीकरणकर्ता प्रकाशित गर्नुहोस् तपाईंले अघिल्लो पाठमा आफ्नो छवि वर्गीकरणकर्तालाई तालिम दिनुभयो। IoT उपकरणबाट यसलाई प्रयोग गर्नुअघि, तपाईंले मोडेललाई प्रकाशित गर्न आवश्यक छ। ### मोडेल पुनरावृत्तिहरू जब तपाईंले अघिल्लो पाठमा मोडेललाई तालिम दिनुभयो, तपाईंले **Performance** ट्याबमा साइडमा पुनरावृत्तिहरू देख्नुभयो होला। जब तपाईंले पहिलो पटक मोडेललाई तालिम दिनुभयो, तपाईंले *Iteration 1* देख्नुभयो। जब तपाईंले भविष्यवाणी छविहरू प्रयोग गरेर मोडेल सुधार गर्नुभयो, तपाईंले *Iteration 2* देख्नुभयो। हरेक पटक तपाईंले मोडेललाई तालिम दिनुभयो, तपाईंले नयाँ पुनरावृत्ति प्राप्त गर्नुहुन्छ। यो विभिन्न डेटा सेटहरूमा तालिम दिइएका मोडेलका विभिन्न संस्करणहरू ट्र्याक गर्नको लागि एक तरिका हो। जब तपाईं **Quick Test** गर्नुहुन्छ, त्यहाँ ड्रप-डाउन हुन्छ जसले तपाईंलाई पुनरावृत्तिहरू बीच परिणामहरू तुलना गर्न अनुमति दिन्छ। जब तपाईं कुनै पुनरावृत्तिसँग सन्तुष्ट हुनुहुन्छ, तपाईंले यसलाई बाह्य अनुप्रयोगहरूबाट प्रयोग गर्न उपलब्ध बनाउन प्रकाशित गर्न सक्नुहुन्छ। यसरी तपाईंले आफ्नो उपकरणहरूले प्रयोग गर्ने प्रकाशित संस्करण राख्न सक्नुहुन्छ, त्यसपछि नयाँ संस्करणमा काम गर्न सक्नुहुन्छ, र सन्तुष्ट भएपछि मात्र प्रकाशित गर्न सक्नुहुन्छ। ### कार्य - पुनरावृत्ति प्रकाशित गर्नुहोस् पुनरावृत्तिहरू Custom Vision पोर्टलबाट प्रकाशित गरिन्छन्। 1. [CustomVision.ai](https://customvision.ai) मा Custom Vision पोर्टल खोल्नुहोस् र साइन इन गर्नुहोस्। त्यसपछि आफ्नो `fruit-quality-detector` प्रोजेक्ट खोल्नुहोस्। 1. माथिको विकल्पहरूबाट **Performance** ट्याब चयन गर्नुहोस्। 1. साइडमा रहेको *Iterations* सूचीबाट पछिल्लो पुनरावृत्ति चयन गर्नुहोस्। 1. पुनरावृत्तिको लागि **Publish** बटन चयन गर्नुहोस्। ![प्रकाशन बटन](../../../../../translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.ne.png) 1. *Publish Model* संवादमा, *Prediction resource* लाई तपाईंले अघिल्लो पाठमा सिर्जना गर्नुभएको `fruit-quality-detector-prediction` स्रोतमा सेट गर्नुहोस्। नामलाई `Iteration2` नै राख्नुहोस्, र **Publish** बटन चयन गर्नुहोस्। 1. प्रकाशित भएपछि, **Prediction URL** बटन चयन गर्नुहोस्। यसले भविष्यवाणी API को विवरण देखाउँछ, र तपाईंले IoT उपकरणबाट मोडेललाई कल गर्न यी विवरणहरू आवश्यक पर्छ। तल्लो खण्ड *If you have an image file* लेबल गरिएको छ, र तपाईंले चाहिने विवरणहरू यहीं छन्। देखाइएको URL को प्रतिलिपि लिनुहोस्, जुन यस्तो हुनेछ: ```output https://.api.cognitive.microsoft.com/customvision/v3.0/Prediction//classify/iterations/Iteration2/image ``` जहाँ `` तपाईंले Custom Vision स्रोत सिर्जना गर्दा प्रयोग गर्नुभएको स्थान हुनेछ, र `` अक्षर र संख्याहरूको लामो ID हुनेछ। साथै *Prediction-Key* मानको प्रतिलिपि लिनुहोस्। यो एक सुरक्षित कुञ्जी हो जुन तपाईंले मोडेललाई कल गर्दा पास गर्नुपर्छ। यो कुञ्जी पास गर्ने अनुप्रयोगहरू मात्र मोडेल प्रयोग गर्न अनुमति पाउँछन्, अन्य कुनै पनि अनुप्रयोगहरू अस्वीकृत हुन्छन्। ![भविष्यवाणी API संवाद जसले URL र कुञ्जी देखाउँछ](../../../../../translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.ne.png) ✅ जब नयाँ पुनरावृत्ति प्रकाशित हुन्छ, यसले फरक नाम पाउँछ। तपाईंको विचारमा IoT उपकरणले प्रयोग गरिरहेको पुनरावृत्ति कसरी परिवर्तन गर्नुहुन्छ? ## IoT उपकरणबाट छविहरू वर्गीकरण गर्नुहोस् अब तपाईंले यी जडान विवरणहरू प्रयोग गरेर IoT उपकरणबाट छवि वर्गीकरणकर्तालाई कल गर्न सक्नुहुन्छ। ### कार्य - IoT उपकरणबाट छविहरू वर्गीकरण गर्नुहोस् तपाईंको IoT उपकरण प्रयोग गरेर छविहरू वर्गीकरण गर्न सम्बन्धित मार्गदर्शन पूरा गर्नुहोस्: * [Arduino - Wio Terminal](wio-terminal-classify-image.md) * [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-classify-image.md) ## मोडेल सुधार गर्नुहोस् तपाईंले IoT उपकरणसँग जडान गरिएको क्यामेरा प्रयोग गर्दा प्राप्त हुने परिणामहरू तपाईंले अपेक्षा गरेजस्तो नहुन सक्छ। भविष्यवाणीहरू सधैं कम्प्युटरबाट अपलोड गरिएका छविहरू जत्तिकै सटीक हुँदैनन्। यसको कारण मोडेललाई तालिम दिन प्रयोग गरिएका डेटा भविष्यवाणीका लागि प्रयोग गरिएका डेटा भन्दा फरक हुन्छ। सर्वश्रेष्ठ परिणाम प्राप्त गर्न, तपाईंले भविष्यवाणीका लागि प्रयोग गरिएका छविहरूसँग मिल्दो-जुल्दो छविहरू प्रयोग गरेर मोडेललाई तालिम दिनुपर्छ। उदाहरणका लागि, यदि तपाईंले तालिमका लागि आफ्नो फोन क्यामेरा प्रयोग गर्नुभयो भने, छवि गुणस्तर, स्पष्टता, र रंग IoT उपकरणसँग जडान गरिएको क्यामेराभन्दा फरक हुनेछ। ![2 वटा केरा तस्बिरहरू, IoT उपकरणबाट कम रिजोल्युसन र खराब प्रकाशमा खिचिएको एउटा, र फोनबाट राम्रो प्रकाशमा खिचिएको उच्च रिजोल्युसनको अर्को](../../../../../translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.ne.png) माथिको तस्बिरमा, बायाँतर्फको केरा तस्बिर Raspberry Pi क्यामेरा प्रयोग गरेर खिचिएको हो, र दायाँतर्फको तस्बिर iPhone प्रयोग गरेर खिचिएको हो। त्यहाँ गुणस्तरमा स्पष्ट भिन्नता छ - iPhone तस्बिर स्पष्ट छ, चम्किलो रंग र बढी कन्भास्टका साथ। ✅ IoT उपकरणले कैद गरेका छविहरूले गलत भविष्यवाणी गर्न के कारण हुन सक्छ? IoT उपकरण प्रयोग गरिने वातावरणको बारेमा सोच्नुहोस्, छवि कैद गर्न कुन कारकहरूले असर गर्न सक्छ? मोडेल सुधार गर्न, तपाईं IoT उपकरणबाट कैद गरिएका छविहरू प्रयोग गरेर यसलाई पुनः तालिम दिन सक्नुहुन्छ। ### कार्य - मोडेल सुधार गर्नुहोस् 1. IoT उपकरण प्रयोग गरेर पाका र काँचो फलफूलका धेरै छविहरू वर्गीकरण गर्नुहोस्। 1. Custom Vision पोर्टलमा, *Predictions* ट्याबमा छविहरू प्रयोग गरेर मोडेललाई पुनः तालिम दिनुहोस्। > ⚠️ [पाठ 1 मा तपाईंको वर्गीकरणकर्तालाई पुनः तालिम दिने निर्देशनहरू आवश्यक परेमा हेर्नुहोस्](../1-train-fruit-detector/README.md#retrain-your-image-classifier)। 1. यदि तपाईंका छविहरू तालिमका लागि प्रयोग गरिएका मूल छविहरूभन्दा धेरै फरक देखिन्छन् भने, *Training Images* ट्याबमा तिनीहरूलाई चयन गरेर **Delete** बटन चयन गरेर सबै मूल छविहरू मेटाउन सक्नुहुन्छ। छवि चयन गर्न, त्यसमा कर्सर राख्नुहोस् र एउटा टिक देखिनेछ, छवि चयन गर्न वा चयन रद्द गर्न उक्त टिक चयन गर्नुहोस्। 1. मोडेलको नयाँ पुनरावृत्ति तालिम दिनुहोस् र माथिका चरणहरू प्रयोग गरेर यसलाई प्रकाशित गर्नुहोस्। 1. आफ्नो कोडमा अन्त बिन्दु URL अपडेट गर्नुहोस्, र एप पुनः चलाउनुहोस्। 1. भविष्यवाणीका परिणामहरूसँग सन्तुष्ट नभएसम्म यी चरणहरू दोहोर्याउनुहोस्। --- ## 🚀 चुनौती छवि रिजोल्युसन वा प्रकाशले भविष्यवाणीमा कति असर गर्छ? तपाईंको उपकरणको कोडमा छविहरूको रिजोल्युसन परिवर्तन गरेर यसले छविको गुणस्तरमा फरक पार्छ कि पार्दैन हेर्नुहोस्। साथै प्रकाश परिवर्तन गरेर पनि प्रयास गर्नुहोस्। यदि तपाईंले फार्म वा कारखानाहरूलाई बेच्न उत्पादन उपकरण बनाउनु पर्ने भए, तपाईंले यसलाई सधैं स्थिर परिणाम दिन कसरी सुनिश्चित गर्नुहुन्थ्यो? ## पाठ पछि क्विज [पाठ पछि क्विज](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/32) ## समीक्षा र आत्म अध्ययन तपाईंले पोर्टल प्रयोग गरेर आफ्नो Custom Vision मोडेललाई तालिम दिनुभयो। यसले छविहरू उपलब्ध भएकोमा निर्भर गर्दछ - र वास्तविक संसारमा तपाईंले आफ्नो उपकरणको क्यामेराले कैद गर्ने छविहरूसँग मेल खाने तालिम डेटा प्राप्त गर्न नसक्न पनि सक्नुहुन्छ। तपाईंले प्रशिक्षण API प्रयोग गरेर आफ्नो उपकरणबाट सिधै तालिम दिन सक्नुहुन्छ, जसले IoT उपकरणबाट कैद गरिएका छविहरू प्रयोग गरेर मोडेललाई तालिम दिन अनुमति दिन्छ। * [Custom Vision SDK क्विक स्टार्ट](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/quickstarts/image-classification?WT.mc_id=academic-17441-jabenn&tabs=visual-studio&pivots=programming-language-python) मा प्रशिक्षण API को बारेमा पढ्नुहोस्। ## असाइनमेन्ट [वर्गीकरण परिणामहरूमा प्रतिक्रिया दिनुहोस्](assignment.md) --- **अस्वीकरण**: यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषामा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।