|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "1c9e5fa8b7be726c75a97232b1e41c97",
|
|
|
"translation_date": "2025-08-27T09:52:02+00:00",
|
|
|
"source_file": "5-retail/lessons/2-check-stock-device/README.md",
|
|
|
"language_code": "ne"
|
|
|
}
|
|
|
-->
|
|
|
# IoT उपकरणबाट स्टक जाँच गर्नुहोस्
|
|
|
|
|
|

|
|
|
|
|
|
> स्केच नोट [नित्या नरसिंहन](https://github.com/nitya) द्वारा। ठूलो संस्करणको लागि तस्बिरमा क्लिक गर्नुहोस्।
|
|
|
|
|
|
## पाठ अघि क्विज
|
|
|
|
|
|
[पाठ अघि क्विज](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/39)
|
|
|
|
|
|
## परिचय
|
|
|
|
|
|
अघिल्लो पाठमा तपाईंले खुद्रा व्यापारमा वस्तु पहिचानको विभिन्न प्रयोगबारे सिक्नुभयो। तपाईंले स्टक पहिचान गर्न वस्तु पहिचानकर्ता कसरी तालिम दिने भन्ने पनि सिक्नुभयो। यस पाठमा तपाईंले आफ्नो IoT उपकरणबाट वस्तु पहिचानकर्ता प्रयोग गरी स्टक गन्ने तरिका सिक्नुहुनेछ।
|
|
|
|
|
|
यस पाठमा हामी निम्न विषयहरू समेट्नेछौं:
|
|
|
|
|
|
* [स्टक गणना](../../../../../5-retail/lessons/2-check-stock-device)
|
|
|
* [आफ्नो IoT उपकरणबाट वस्तु पहिचानकर्ता कल गर्नुहोस्](../../../../../5-retail/lessons/2-check-stock-device)
|
|
|
* [बाउन्डिङ बक्सहरू](../../../../../5-retail/lessons/2-check-stock-device)
|
|
|
* [मोडेल पुनः तालिम दिनुहोस्](../../../../../5-retail/lessons/2-check-stock-device)
|
|
|
* [स्टक गन्नुहोस्](../../../../../5-retail/lessons/2-check-stock-device)
|
|
|
|
|
|
> 🗑 यो परियोजनाको अन्तिम पाठ हो, त्यसैले यो पाठ र असाइनमेन्ट पूरा गरेपछि, आफ्नो क्लाउड सेवाहरू सफा गर्न नबिर्सनुहोस्। असाइनमेन्ट पूरा गर्न सेवाहरू आवश्यक पर्नेछ, त्यसैले पहिले असाइनमेन्ट पूरा गर्नुहोस्।
|
|
|
>
|
|
|
> आवश्यक परेमा [आफ्नो परियोजना सफा गर्ने मार्गदर्शन](../../../clean-up.md) हेर्नुहोस्।
|
|
|
|
|
|
## स्टक गणना
|
|
|
|
|
|
वस्तु पहिचानकर्ताहरू स्टक जाँच गर्न प्रयोग गर्न सकिन्छ, चाहे स्टक गन्न होस् वा स्टक सही ठाउँमा छ कि छैन भनेर सुनिश्चित गर्न। क्यामेरा भएका IoT उपकरणहरू स्टोरभरि तैनाथ गर्न सकिन्छ, विशेष गरी ती ठाउँहरूमा जहाँ महत्त्वपूर्ण वस्तुहरू पुनः भण्डारण गर्न आवश्यक पर्छ, जस्तै उच्च मूल्यका वस्तुहरू थोरै मात्रामा राखिएका क्षेत्रहरू।
|
|
|
|
|
|
उदाहरणका लागि, यदि एउटा क्यामेरा ८ वटा टमाटर पेस्टका डब्बा राख्न सक्ने शेल्फतर्फ फर्किएको छ, र वस्तु पहिचानकर्ताले ७ वटा मात्र डब्बा पत्ता लगाउँछ भने, एउटा हराएको छ र पुनः भण्डारण गर्न आवश्यक छ।
|
|
|
|
|
|

|
|
|
|
|
|
माथिको तस्बिरमा, वस्तु पहिचानकर्ताले ८ वटा डब्बा अटाउने शेल्फमा ७ वटा टमाटर पेस्टका डब्बा पत्ता लगाएको छ। IoT उपकरणले न केवल पुनः भण्डारणको आवश्यकता भएको सूचना पठाउन सक्छ, तर हराएको वस्तुको स्थानको संकेत पनि दिन सक्छ, जुन रोबोटहरू प्रयोग गरेर शेल्फ पुनः भण्डारण गर्दा महत्त्वपूर्ण डाटा हो।
|
|
|
|
|
|
> 💁 स्टोर र वस्तुको लोकप्रियतामा निर्भर गर्दै, केवल १ डब्बा हराउँदा पुनः भण्डारण नहुन सक्छ। तपाईंले आफ्नो उत्पादन, ग्राहक र अन्य मापदण्डहरूका आधारमा पुनः भण्डारण कहिले गर्ने भन्ने निर्धारण गर्ने एल्गोरिदम बनाउनुपर्नेछ।
|
|
|
|
|
|
✅ अन्य कुन परिदृश्यहरूमा तपाईं वस्तु पहिचान र रोबोटलाई संयोजन गर्न सक्नुहुन्छ?
|
|
|
|
|
|
कहिलेकाहीँ गलत स्टक शेल्फमा हुन सक्छ। यो पुनः भण्डारण गर्दा मानवीय त्रुटि हुन सक्छ, वा ग्राहकहरूले किनमेलको निर्णय परिवर्तन गरी वस्तु पहिलो उपलब्ध ठाउँमा राखिदिन सक्छन्। यदि यो डब्बाबन्द वस्तुजस्तो गैर-नाश हुने वस्तु हो भने, यो झन्झट मात्र हो। तर यदि यो फ्रोजन वा चिसो राख्नुपर्ने वस्तु हो भने, यो वस्तु अब बेच्न नसकिने हुन सक्छ किनभने यो फ्रिजरबाट कति समय बाहिर थियो भन्ने थाहा पाउन असम्भव हुन सक्छ।
|
|
|
|
|
|
वस्तु पहिचानले अप्रत्याशित वस्तुहरू पत्ता लगाउन प्रयोग गर्न सकिन्छ, जसले मानवीय वा रोबोटलाई वस्तु तुरुन्तै फिर्ता गर्न सचेत गराउन सक्छ।
|
|
|
|
|
|

|
|
|
|
|
|
माथिको तस्बिरमा, टमाटर पेस्टको शेल्फमा एउटा बेबी कर्नको डब्बा राखिएको छ। वस्तु पहिचानकर्ताले यसलाई पत्ता लगाएको छ, जसले IoT उपकरणलाई मानवीय वा रोबोटलाई डब्बा सही स्थानमा फिर्ता गर्न सूचित गर्न अनुमति दिन्छ।
|
|
|
|
|
|
## आफ्नो IoT उपकरणबाट वस्तु पहिचानकर्ता कल गर्नुहोस्
|
|
|
|
|
|
तपाईंले अघिल्लो पाठमा तालिम दिएको वस्तु पहिचानकर्तालाई आफ्नो IoT उपकरणबाट कल गर्न सकिन्छ।
|
|
|
|
|
|
### कार्य - आफ्नो वस्तु पहिचानकर्ताको संस्करण प्रकाशित गर्नुहोस्
|
|
|
|
|
|
Custom Vision पोर्टलबाट संस्करणहरू प्रकाशित गरिन्छ।
|
|
|
|
|
|
1. [CustomVision.ai](https://customvision.ai) मा Custom Vision पोर्टल खोल्नुहोस् र साइन इन गर्नुहोस्। त्यसपछि आफ्नो `stock-detector` परियोजना खोल्नुहोस्।
|
|
|
|
|
|
1. माथिको विकल्पहरूबाट **Performance** ट्याब चयन गर्नुहोस्।
|
|
|
|
|
|
1. साइडमा रहेको *Iterations* सूचीबाट पछिल्लो संस्करण चयन गर्नुहोस्।
|
|
|
|
|
|
1. संस्करणको लागि **Publish** बटन चयन गर्नुहोस्।
|
|
|
|
|
|

|
|
|
|
|
|
1. *Publish Model* संवादमा, *Prediction resource* लाई अघिल्लो पाठमा सिर्जना गरिएको `stock-detector-prediction` स्रोतमा सेट गर्नुहोस्। नाम `Iteration2` नै राख्नुहोस् र **Publish** बटन चयन गर्नुहोस्।
|
|
|
|
|
|
1. प्रकाशित भएपछि, **Prediction URL** बटन चयन गर्नुहोस्। यसले भविष्यवाणी API को विवरण देखाउनेछ, र तपाईंलाई IoT उपकरणबाट मोडेल कल गर्न यी आवश्यक पर्नेछ। तल्लो खण्ड *If you have an image file* लेबल गरिएको छ, र तपाईंलाई चाहिने विवरण यही हो। देखाइएको URL को प्रतिलिपि लिनुहोस्, जुन निम्न जस्तो हुनेछ:
|
|
|
|
|
|
```output
|
|
|
https://<location>.api.cognitive.microsoft.com/customvision/v3.0/Prediction/<id>/detect/iterations/Iteration2/image
|
|
|
```
|
|
|
|
|
|
जहाँ `<location>` तपाईंले Custom Vision स्रोत सिर्जना गर्दा प्रयोग गरेको स्थान हुनेछ, र `<id>` अक्षर र संख्याहरूको लामो ID हुनेछ।
|
|
|
|
|
|
*Prediction-Key* मानको पनि प्रतिलिपि लिनुहोस्। यो एक सुरक्षित कुञ्जी हो जुन तपाईंले मोडेल कल गर्दा पास गर्नुपर्छ। यो कुञ्जी पास गर्ने एप्लिकेसनहरू मात्र मोडेल प्रयोग गर्न अनुमति पाउँछन्, अन्य एप्लिकेसनहरू अस्वीकृत हुन्छन्।
|
|
|
|
|
|

|
|
|
|
|
|
✅ जब नयाँ संस्करण प्रकाशित हुन्छ, यसले फरक नाम पाउँछ। तपाईं कसरी IoT उपकरणले प्रयोग गरिरहेको संस्करण परिवर्तन गर्नुहुन्छ?
|
|
|
|
|
|
### कार्य - आफ्नो IoT उपकरणबाट वस्तु पहिचानकर्ता कल गर्नुहोस्
|
|
|
|
|
|
तपाईंको IoT उपकरणबाट वस्तु पहिचानकर्ता प्रयोग गर्न निम्न मार्गदर्शनहरू पालना गर्नुहोस्:
|
|
|
|
|
|
* [Arduino - Wio Terminal](wio-terminal-object-detector.md)
|
|
|
* [Single-board computer - Raspberry Pi/Virtual device](single-board-computer-object-detector.md)
|
|
|
|
|
|
## बाउन्डिङ बक्सहरू
|
|
|
|
|
|
जब तपाईं वस्तु पहिचानकर्ता प्रयोग गर्नुहुन्छ, तपाईंले पत्ता लगाइएका वस्तुहरूका ट्याग र सम्भावनाहरू मात्र होइन, तर वस्तुहरूको बाउन्डिङ बक्सहरू पनि प्राप्त गर्नुहुन्छ। यी बक्सहरूले वस्तु पहिचानकर्ताले दिइएको सम्भावनासहित वस्तु पत्ता लगाएको क्षेत्रलाई परिभाषित गर्छन्।
|
|
|
|
|
|
> 💁 बाउन्डिङ बक्स भनेको पत्ता लगाइएको वस्तु समावेश गर्ने क्षेत्रलाई परिभाषित गर्ने बक्स हो, जसले वस्तुको सीमा परिभाषित गर्छ।
|
|
|
|
|
|
Custom Vision को **Predictions** ट्याबमा भविष्यवाणीको परिणाममा, भविष्यवाणीका लागि पठाइएको तस्बिरमा बाउन्डिङ बक्सहरू कोरिएका हुन्छन्।
|
|
|
|
|
|

|
|
|
|
|
|
माथिको तस्बिरमा, ४ वटा टमाटर पेस्टका डब्बा पत्ता लगाइएका छन्। परिणाममा, प्रत्येक वस्तुका लागि रातो वर्ग तस्बिरमा ओभरले गरिएको छ, जसले तस्बिरको बाउन्डिङ बक्सलाई संकेत गर्छ।
|
|
|
|
|
|
✅ Custom Vision मा भविष्यवाणीहरू खोल्नुहोस् र बाउन्डिङ बक्सहरू जाँच गर्नुहोस्।
|
|
|
|
|
|
बाउन्डिङ बक्सहरू ४ वटा मानहरूसँग परिभाषित गरिन्छ - माथि, बायाँ, उचाइ र चौडाइ। यी मानहरू ०-१ को स्केलमा हुन्छन्, जसले तस्बिरको आकारको प्रतिशतको रूपमा स्थानहरूलाई प्रतिनिधित्व गर्छ। मूल (०,० स्थिति) तस्बिरको माथिल्लो बायाँ भाग हो, त्यसैले माथिको मान माथिबाट दूरी हो, र बाउन्डिङ बक्सको तल्लो भाग माथि प्लस उचाइ हो।
|
|
|
|
|
|

|
|
|
|
|
|
माथिको तस्बिर ६०० पिक्सेल चौडा र ८०० पिक्सेल अग्लो छ। बाउन्डिङ बक्स ३२० पिक्सेल तलबाट सुरु हुन्छ, जसले माथिको निर्देशांकलाई ०.४ दिन्छ (८०० x ०.४ = ३२०)। बायाँबाट, बाउन्डिङ बक्स २४० पिक्सेलबाट सुरु हुन्छ, जसले बायाँ निर्देशांकलाई ०.४ दिन्छ (६०० x ०.४ = २४०)। बाउन्डिङ बक्सको उचाइ २४० पिक्सेल छ, जसले उचाइको मानलाई ०.३ दिन्छ (८०० x ०.३ = २४०)। बाउन्डिङ बक्सको चौडाइ १२० पिक्सेल छ, जसले चौडाइको मानलाई ०.२ दिन्छ (६०० x ०.२ = १२०)।
|
|
|
|
|
|
| निर्देशांक | मान |
|
|
|
| ---------- | ----: |
|
|
|
| माथि | ०.४ |
|
|
|
| बायाँ | ०.४ |
|
|
|
| उचाइ | ०.३ |
|
|
|
| चौडाइ | ०.२ |
|
|
|
|
|
|
०-१ को प्रतिशत मान प्रयोग गर्दा, तस्बिरको आकार जेसुकै भए पनि, बाउन्डिङ बक्स ०.४ को अनुपातमा सुरु हुन्छ र ०.३ को उचाइ र ०.२ को चौडाइ हुन्छ।
|
|
|
|
|
|
तपाईं बाउन्डिङ बक्सहरूलाई सम्भावनासँग संयोजन गरी भविष्यवाणीको शुद्धता मूल्याङ्कन गर्न सक्नुहुन्छ। उदाहरणका लागि, वस्तु पहिचानकर्ताले ओभरल्याप भएका धेरै वस्तुहरू पत्ता लगाउन सक्छ, जस्तै एउटा डब्बा अर्को डब्बाभित्र पत्ता लगाउनु। तपाईंको कोडले बाउन्डिङ बक्सहरू हेर्न सक्छ, यो असम्भव छ भनेर बुझ्न सक्छ, र अन्य वस्तुसँग धेरै ओभरल्याप भएका वस्तुहरूलाई बेवास्ता गर्न सक्छ।
|
|
|
|
|
|

|
|
|
|
|
|
माथिको उदाहरणमा, एउटा बाउन्डिङ बक्सले ७८.३% सम्भावनामा टमाटर पेस्टको डब्बा भविष्यवाणी गरेको छ। दोस्रो बाउन्डिङ बक्स अलिकति सानो छ, र पहिलो बक्सभित्र ६४.३% सम्भावनामा छ। तपाईंको कोडले बाउन्डिङ बक्सहरू जाँच गर्न सक्छ, तिनीहरू पूर्ण रूपमा ओभरल्याप भएको देख्न सक्छ, र कम सम्भावनालाई बेवास्ता गर्न सक्छ किनभने एउटा वस्तु अर्कोभित्र हुन सक्दैन।
|
|
|
|
|
|
✅ यस्तो स्थिति सोच्न सक्नुहुन्छ जहाँ एउटा वस्तु अर्कोभित्र पत्ता लगाउनु मान्य हुन्छ?
|
|
|
|
|
|
## मोडेल पुनः तालिम दिनुहोस्
|
|
|
|
|
|
तपाईंको IoT उपकरणले सङ्कलन गरेको डाटाको प्रयोग गरेर आफ्नो मोडेललाई पुनः तालिम दिन सकिन्छ। यो वास्तविक-विश्व डाटाको प्रयोगले तपाईंको मोडेल IoT उपकरणबाट प्रयोग गर्दा राम्रोसँग काम गर्ने सुनिश्चित गर्दछ।
|
|
|
|
|
|
तर, छविहरूलाई मात्र ट्याग गर्न सकिँदैन। यसको सट्टा, मोडेलले पत्ता लगाएका प्रत्येक बाउन्डिङ बक्सलाई समीक्षा गर्न आवश्यक छ। यदि बक्स गलत वस्तु वरिपरि छ भने यसलाई मेटाउनुपर्छ, यदि यो गलत स्थानमा छ भने यसलाई समायोजन गर्नुपर्छ।
|
|
|
|
|
|
### कार्य - मोडेल पुनः तालिम दिनुहोस्
|
|
|
|
|
|
1. आफ्नो IoT उपकरण प्रयोग गरेर विभिन्न छविहरू सङ्कलन गर्न सुनिश्चित गर्नुहोस्।
|
|
|
|
|
|
1. **Predictions** ट्याबबाट एउटा छवि चयन गर्नुहोस्। तपाईंले पत्ता लगाइएका वस्तुहरूको बाउन्डिङ बक्सहरू रातो रंगमा देख्नुहुनेछ।
|
|
|
|
|
|
1. प्रत्येक बाउन्डिङ बक्सको समीक्षा गर्नुहोस्। पहिले यसलाई चयन गर्नुहोस्, र तपाईंले ट्याग देखाउने पप-अप देख्नुहुनेछ। आवश्यक परे बाउन्डिङ बक्सको आकार समायोजन गर्न कुनाहरूमा रहेको ह्यान्डल प्रयोग गर्नुहोस्। यदि ट्याग गलत छ भने, **X** बटन प्रयोग गरेर यसलाई हटाउनुहोस् र सही ट्याग थप्नुहोस्। यदि बाउन्डिङ बक्सले वस्तु समावेश गर्दैन भने, यसलाई ट्र्यासक्यान बटन प्रयोग गरेर मेटाउनुहोस्।
|
|
|
|
|
|
1. सम्पादन पूरा भएपछि, सम्पादक बन्द गर्नुहोस्, र छवि **Predictions** ट्याबबाट **Training Images** ट्याबमा सर्छ। सबै भविष्यवाणीहरूको लागि यो प्रक्रिया दोहोर्याउनुहोस्।
|
|
|
|
|
|
1. **Train** बटन प्रयोग गरेर आफ्नो मोडेललाई पुनः तालिम दिनुहोस्। तालिम पूरा भएपछि, संस्करण प्रकाशित गर्नुहोस् र आफ्नो IoT उपकरणलाई नयाँ संस्करणको URL प्रयोग गर्न अद्यावधिक गर्नुहोस्।
|
|
|
|
|
|
1. आफ्नो कोड पुनः तैनाथ गर्नुहोस् र आफ्नो IoT उपकरण परीक्षण गर्नुहोस्।
|
|
|
|
|
|
## स्टक गन्नुहोस्
|
|
|
|
|
|
पत्ता लगाइएका वस्तुहरूको सङ्ख्या र बाउन्डिङ बक्सहरूको संयोजन प्रयोग गरेर, तपाईं शेल्फमा रहेको स्टक गन्न सक्नुहुन्छ।
|
|
|
|
|
|
### कार्य - स्टक गन्नुहोस्
|
|
|
|
|
|
तपाईंको IoT उपकरणबाट वस्तु पहिचानकर्ताको परिणाम प्रयोग गरेर स्टक गन्न निम्न मार्गदर्शनहरू पालना गर्नुहोस्:
|
|
|
|
|
|
* [Arduino - Wio Terminal](wio-terminal-count-stock.md)
|
|
|
* [Single-board computer - Raspberry Pi/Virtual device](single-board-computer-count-stock.md)
|
|
|
|
|
|
---
|
|
|
|
|
|
## 🚀 चुनौती
|
|
|
|
|
|
के तपाईं गलत स्टक पत्ता लगाउन सक्नुहुन्छ? आफ्नो मोडेललाई धेरै वस्तुहरूमा तालिम दिनुहोस्, त्यसपछि आफ्नो एप अद्यावधिक गरी गलत स्टक पत्ता लागेमा सचेत गराउनुहोस्।
|
|
|
|
|
|
सायद यसलाई अझ अगाडि लैजानुहोस् र एउटै शेल्फमा सँगै रहेको स्टक पत्ता लगाउनुहोस्, र बाउन्डिङ बक्सहरूमा सीमाहरू परिभाषित गरेर केहि गलत ठाउँमा राखिएको छ कि छैन हेर्नुहोस्।
|
|
|
|
|
|
## पाठ पछि क्विज
|
|
|
|
|
|
[पाठ पछि क्विज](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/40)
|
|
|
|
|
|
## समीक्षा र आत्म अध्ययन
|
|
|
|
|
|
* [Microsoft Docs](https://docs.microsoft.com/hybrid/app-solutions/pattern-out-of-stock-at-edge?WT.mc_id=academic-17441-jabenn) मा रहेको "Out of stock detection at the edge pattern guide" बाट अन्त-देखि-अन्त स्टक पत्ता लगाउने प्रणाली कसरी आर्किटेक्चर गर्ने भन्ने बारे थप जान्नुहोस्।
|
|
|
* IoT र क्लाउड सेवाहरूको दायरा संयोजन गरेर अन्त-देखि-अन्त खुद्रा समाधानहरू निर्माण गर्ने अन्य तरिकाहरू सिक्न [Behind the scenes of a retail solution - Hands On!](https://www.youtube.com/watch?v=m3Pc300x2Mw) भिडियो हेर्नुहोस्।
|
|
|
|
|
|
## असाइनमेन्ट
|
|
|
|
|
|
[आफ्नो वस्तु पहिचानकर्तालाई किनारामा प्रयोग गर्नुहोस्](assignment.md)
|
|
|
|
|
|
---
|
|
|
|
|
|
**अस्वीकरण**:
|
|
|
यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं। |