|
4 weeks ago | |
---|---|---|
.. | ||
README.md | 4 weeks ago | |
assignment.md | 4 weeks ago | |
single-board-computer-count-stock.md | 4 weeks ago | |
single-board-computer-object-detector.md | 4 weeks ago | |
wio-terminal-count-stock.md | 4 weeks ago | |
wio-terminal-object-detector.md | 4 weeks ago |
README.md
Patikrinkite atsargas naudodami IoT įrenginį
Piešinys sukurtas Nitya Narasimhan. Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
Klausimai prieš paskaitą
Įvadas
Ankstesnėje pamokoje sužinojote apie skirtingus objektų atpažinimo panaudojimo būdus mažmeninėje prekyboje. Taip pat išmokote apmokyti objektų atpažinimo modelį, kad jis galėtų identifikuoti atsargas. Šioje pamokoje sužinosite, kaip naudoti savo objektų atpažinimo modelį iš IoT įrenginio, kad galėtumėte skaičiuoti atsargas.
Šioje pamokoje aptarsime:
- Atsargų skaičiavimas
- Objektų atpažinimo modelio naudojimas iš IoT įrenginio
- Ribojimo dėžutės
- Modelio pertreniravimas
- Atsargų skaičiavimas
🗑 Tai paskutinė pamoka šiame projekte, todėl baigę pamoką ir užduotį nepamirškite išvalyti savo debesų paslaugų. Jums reikės paslaugų, kad užbaigtumėte užduotį, todėl pirmiausia įsitikinkite, kad ją atlikote.
Jei reikia instrukcijų, kaip tai padaryti, kreipkitės į projekto valymo vadovą.
Atsargų skaičiavimas
Objektų atpažinimo modeliai gali būti naudojami atsargų tikrinimui – tiek skaičiuojant atsargas, tiek užtikrinant, kad jos yra ten, kur turėtų būti. IoT įrenginiai su kameromis gali būti išdėstyti visoje parduotuvėje, kad stebėtų atsargas, pradedant nuo svarbiausių vietų, kur būtina užtikrinti prekių papildymą, pavyzdžiui, vietų, kur laikomos nedidelės vertingų prekių atsargos.
Pavyzdžiui, jei kamera nukreipta į lentyną, kurioje telpa 8 pomidorų pastos skardinės, o objektų atpažinimo modelis aptinka tik 7 skardines, viena skardinė trūksta ir ją reikia papildyti.
Aukščiau pateiktame paveikslėlyje objektų atpažinimo modelis aptiko 7 pomidorų pastos skardines lentynoje, kurioje telpa 8 skardinės. IoT įrenginys ne tik gali siųsti pranešimą apie poreikį papildyti atsargas, bet ir nurodyti trūkstamos prekės vietą, kas yra svarbi informacija, jei naudojate robotus lentynoms papildyti.
💁 Atsižvelgiant į parduotuvę ir prekės populiarumą, papildymas greičiausiai nebūtų atliekamas, jei trūksta tik 1 skardinės. Jums reikėtų sukurti algoritmą, kuris nustatytų, kada papildyti atsargas, remiantis jūsų produktais, klientais ir kitais kriterijais.
✅ Kokiose kitose situacijose galėtumėte derinti objektų atpažinimą ir robotus?
Kartais lentynose gali būti netinkamos atsargos. Tai gali būti žmogaus klaida papildant lentynas arba klientai, pakeitę savo sprendimą dėl pirkimo ir padėję prekę į pirmą pasitaikiusią vietą. Kai tai yra negreitai gendantis produktas, pavyzdžiui, konservai, tai yra nepatogumas. Jei tai yra greitai gendantis produktas, pavyzdžiui, šaldyti ar atvėsinti produktai, tai gali reikšti, kad prekės nebegalima parduoti, nes gali būti neįmanoma nustatyti, kiek laiko ji buvo išimta iš šaldiklio.
Objektų atpažinimo modeliai gali būti naudojami netikėtų prekių aptikimui, vėlgi įspėjant žmogų ar robotą, kad prekė būtų grąžinta, kai tik ji aptinkama.
Aukščiau pateiktame paveikslėlyje kūdikių kukurūzų skardinė buvo padėta lentynoje šalia pomidorų pastos. Objektų atpažinimo modelis tai aptiko, leidžiant IoT įrenginiui pranešti žmogui ar robotui, kad skardinė būtų grąžinta į tinkamą vietą.
Objektų atpažinimo modelio naudojimas iš IoT įrenginio
Objektų atpažinimo modelį, kurį apmokėte paskutinėje pamokoje, galima naudoti iš IoT įrenginio.
Užduotis – paskelbti modelio iteraciją
Iteracijos skelbiamos iš „Custom Vision“ portalo.
-
Atidarykite „Custom Vision“ portalą CustomVision.ai ir prisijunkite, jei dar neatidarėte. Tada atidarykite savo
stock-detector
projektą. -
Pasirinkite Performance skirtuką iš viršuje esančių parinkčių.
-
Pasirinkite naujausią iteraciją iš Iterations sąrašo šone.
-
Pasirinkite Publish mygtuką šiai iteracijai.
-
Publish Model dialoge nustatykite Prediction resource į
stock-detector-prediction
resursą, kurį sukūrėte paskutinėje pamokoje. Palikite pavadinimą kaipIteration2
ir pasirinkite Publish mygtuką. -
Kai iteracija bus paskelbta, pasirinkite Prediction URL mygtuką. Čia bus pateikta informacija apie prognozavimo API, kurią reikės naudoti modelio kvietimui iš IoT įrenginio. Apatinė dalis pažymėta If you have an image file, ir tai yra reikalinga informacija. Nukopijuokite pateiktą URL, kuris bus panašus į:
https://<location>.api.cognitive.microsoft.com/customvision/v3.0/Prediction/<id>/detect/iterations/Iteration2/image
Kur
<location>
bus vieta, kurią naudojote kurdami „Custom Vision“ resursą, o<id>
bus ilgas ID, sudarytas iš raidžių ir skaičių.Taip pat nukopijuokite Prediction-Key reikšmę. Tai yra saugus raktas, kurį reikia perduoti kviečiant modelį. Tik programos, kurios perduoda šį raktą, gali naudoti modelį, o kitos programos yra atmetamos.
✅ Kai paskelbiama nauja iteracija, ji turės kitokį pavadinimą. Kaip manote, kaip pakeistumėte iteraciją, kurią naudoja IoT įrenginys?
Užduotis – naudoti objektų atpažinimo modelį iš IoT įrenginio
Sekite atitinkamą vadovą, kad naudotumėte objektų atpažinimo modelį iš savo IoT įrenginio:
Ribojimo dėžutės
Naudojant objektų atpažinimo modelį, gaunate ne tik aptiktus objektus su jų žymomis ir tikimybėmis, bet ir ribojimo dėžutes. Jos apibrėžia, kur objektų atpažinimo modelis aptiko objektą su tam tikra tikimybe.
💁 Ribojimo dėžutė yra dėžutė, apibrėžianti sritį, kurioje aptiktas objektas, tai yra objektą ribojanti dėžutė.
Prognozavimo rezultatai Predictions skirtuke „Custom Vision“ turi ribojimo dėžutes, kurios yra uždėtos ant vaizdo, kuris buvo pateiktas prognozavimui.
Aukščiau pateiktame paveikslėlyje aptiktos 4 pomidorų pastos skardinės. Rezultatuose kiekvienam aptiktam objektui vaizde uždėta raudona kvadratinė ribojimo dėžutė, nurodanti aptikimo ribas.
✅ Atidarykite prognozes „Custom Vision“ ir peržiūrėkite ribojimo dėžutes.
Ribojimo dėžutės apibrėžiamos 4 reikšmėmis – viršus, kairė, aukštis ir plotis. Šios reikšmės yra skalėje nuo 0 iki 1, nurodančios pozicijas kaip vaizdo dydžio procentą. Pradžia (0,0 pozicija) yra vaizdo viršutinis kairysis kampas, todėl viršutinė reikšmė yra atstumas nuo viršaus, o ribojimo dėžutės apačia yra viršus plius aukštis.
Aukščiau pateiktas vaizdas yra 600 pikselių pločio ir 800 pikselių aukščio. Ribojimo dėžutė prasideda 320 pikselių žemyn, suteikiant viršutinę koordinatę 0.4 (800 x 0.4 = 320). Nuo kairės ribojimo dėžutė prasideda 240 pikselių į šoną, suteikiant kairę koordinatę 0.4 (600 x 0.4 = 240). Ribojimo dėžutės aukštis yra 240 pikselių, suteikiant aukščio reikšmę 0.3 (800 x 0.3 = 240). Ribojimo dėžutės plotis yra 120 pikselių, suteikiant pločio reikšmę 0.2 (600 x 0.2 = 120).
Koordinatė | Reikšmė |
---|---|
Viršus | 0.4 |
Kairė | 0.4 |
Aukštis | 0.3 |
Plotis | 0.2 |
Naudojant procentines reikšmes nuo 0 iki 1, nesvarbu, kokio dydžio vaizdas yra keičiamas, ribojimo dėžutė prasideda 0.4 nuo viršaus ir šono, o jos aukštis yra 0.3, o plotis – 0.2.
Ribojimo dėžutes galima naudoti kartu su tikimybėmis, kad įvertintumėte aptikimo tikslumą. Pavyzdžiui, objektų atpažinimo modelis gali aptikti kelis objektus, kurie persidengia, pavyzdžiui, aptikti vieną skardinę kitoje. Jūsų kodas galėtų peržiūrėti ribojimo dėžutes, suprasti, kad tai neįmanoma, ir ignoruoti bet kokius objektus, kurie reikšmingai persidengia su kitais objektais.
Pavyzdyje aukščiau viena ribojimo dėžutė nurodo prognozuotą pomidorų pastos skardinę su 78.3% tikimybe. Antra ribojimo dėžutė yra šiek tiek mažesnė ir yra pirmosios ribojimo dėžutės viduje su 64.3% tikimybe. Jūsų kodas gali patikrinti ribojimo dėžutes, pamatyti, kad jos visiškai persidengia, ir ignoruoti mažesnę tikimybę, nes nėra galimybės, kad viena skardinė būtų kitos viduje.
✅ Ar galite sugalvoti situaciją, kurioje būtų galiojantis aptikimas vieno objekto kito viduje?
Modelio pertreniravimas
Kaip ir su vaizdų klasifikatoriumi, galite pertreniruoti savo modelį naudodami duomenis, surinktus jūsų IoT įrenginiu. Naudojant šiuos realaus pasaulio duomenis užtikrinsite, kad jūsų modelis gerai veiktų, kai bus naudojamas iš IoT įrenginio.
Skirtingai nei su vaizdų klasifikatoriumi, negalite tiesiog pažymėti vaizdo. Vietoj to turite peržiūrėti kiekvieną ribojimo dėžutę, kurią aptiko modelis. Jei dėžutė yra aplink netinkamą objektą, ją reikia ištrinti, jei ji yra netinkamoje vietoje, ją reikia koreguoti.
Užduotis – pertreniruoti modelį
-
Įsitikinkite, kad surinkote įvairius vaizdus naudodami savo IoT įrenginį.
-
Iš Predictions skirtuko pasirinkite vaizdą. Pamatysite raudonas dėžutes, nurodančias aptiktų objektų ribojimo dėžutes.
-
Peržiūrėkite kiekvieną ribojimo dėžutę. Pirmiausia pasirinkite ją ir pamatysite iššokantį langą su žyma. Naudokite rankenas ant ribojimo dėžutės kampų, kad prireikus koreguotumėte dydį. Jei žyma yra neteisinga, pašalinkite ją naudodami X mygtuką ir pridėkite tinkamą žymą. Jei ribojimo dėžutė neapima objekto, ištrinkite ją naudodami šiukšliadėžės mygtuką.
-
Baigę redagavimą uždarykite redaktorių, ir vaizdas bus perkeltas iš Predictions skirtuko į Training Images skirtuką. Pakartokite procesą visoms prognozėms.
-
Naudokite Train mygtuką, kad pertreniruotumėte savo modelį. Kai jis bus pertreniruotas, paskelbkite iteraciją ir atnaujinkite savo IoT įrenginį, kad naudotų naujos iteracijos URL.
-
Iš naujo įdiekite savo kodą ir išbandykite savo IoT įrenginį.
Atsargų skaičiavimas
Naudodami aptiktų objektų skaičių ir ribojimo dėžutes, galite skaičiuoti atsargas lentynoje.
Užduotis – skaičiuoti atsargas
Sekite atitinkamą vadovą, kad skaičiuotumėte atsargas naudodami objektų atpažinimo modelio rezultatus iš savo IoT įrenginio:
🚀 Iššūkis
Ar galite aptikti netinkamas atsargas? Apmokykite savo modelį keliems objektams, tada atnaujinkite savo programą, kad ji įspėtų jus, jei aptinkamos netinkamos atsargos.
Galbūt netgi išplėskite tai ir aptikite atsargas, esančias greta lentynoje, ir patikrinkite, ar kažkas buvo padėta netinkamoje vietoje, apibrėždami ribojimo dėžučių ribas.
Klausimai po paskaitos
Apžvalga ir savarankiškas mokymasis
- Sužinokite daugiau apie tai, kaip sukurti pilną atsargų aptikimo sistemą, naudodami „Out of stock detection at the edge“ modelio vadovą Microsoft Docs
- Sužinokite kitus būdus, kaip kurti pilnus mažmeninės prekybos sprendimus, derinant įvairias IoT ir debesų paslaugas, žiūrėdami
Atsakomybės apribojimas:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama profesionali žmogaus vertimo paslauga. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius naudojant šį vertimą.