|
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
Tarkista varasto IoT-laitteella
Sketchnote: Nitya Narasimhan. Klikkaa kuvaa nähdäksesi suuremman version.
Ennakkokysely
Johdanto
Edellisessä oppitunnissa opit objektintunnistuksen eri käyttötarkoituksista vähittäiskaupassa. Opit myös kouluttamaan objektintunnistimen tunnistamaan varastoa. Tässä oppitunnissa opit käyttämään objektintunnistinta IoT-laitteeltasi varaston laskemiseen.
Tässä oppitunnissa käsitellään:
- Varaston laskeminen
- Kutsu objektintunnistinta IoT-laitteeltasi
- Rajauslaatikot
- Mallin uudelleenkoulutus
- Laske varasto
🗑 Tämä on projektin viimeinen oppitunti, joten kun olet suorittanut tämän oppitunnin ja tehtävän, muista siivota pilvipalvelusi. Tarvitset palveluita tehtävän suorittamiseen, joten varmista, että teet sen ensin.
Katso tarvittaessa projektin siivousopas saadaksesi ohjeita.
Varaston laskeminen
Objektintunnistimia voidaan käyttää varaston tarkistamiseen, joko laskemalla varastoa tai varmistamalla, että varasto on oikeassa paikassa. IoT-laitteita, joissa on kamerat, voidaan sijoittaa ympäri kauppaa varaston valvontaan, alkaen tärkeistä paikoista, joissa tuotteiden täydennys on kriittistä, kuten alueista, joissa on pieni määrä arvokkaita tuotteita.
Esimerkiksi, jos kamera osoittaa hyllyyn, joka voi pitää 8 tomaattipyreen purkkia, ja objektintunnistin havaitsee vain 7 purkkia, yksi puuttuu ja se täytyy täydentää.
Yllä olevassa kuvassa objektintunnistin on havainnut 7 tomaattipyreen purkkia hyllyllä, joka voi pitää 8 purkkia. IoT-laite ei ainoastaan voi lähettää ilmoitusta täydennystarpeesta, vaan se voi myös antaa tiedon puuttuvan tuotteen sijainnista, mikä on tärkeää, jos käytät robotteja hyllyjen täydennykseen.
💁 Riippuen kaupasta ja tuotteen suosiosta, täydennystä ei todennäköisesti tehtäisi, jos vain yksi purkki puuttuu. Sinun täytyy rakentaa algoritmi, joka määrittää täydennystarpeen tuotteesi, asiakkaidesi ja muiden kriteerien perusteella.
✅ Missä muissa tilanteissa voisit yhdistää objektintunnistuksen ja robotit?
Joskus hyllyillä voi olla väärää varastoa. Tämä voi johtua inhimillisestä virheestä täydennyksen aikana tai asiakkaista, jotka muuttavat mielensä ostoksesta ja laittavat tuotteen takaisin ensimmäiseen vapaaseen paikkaan. Kun kyseessä on ei-pilaantuva tuote, kuten säilykkeet, tämä on ärsyttävää. Jos kyseessä on pilaantuva tuote, kuten pakasteet tai kylmätuotteet, tämä voi tarkoittaa, että tuotetta ei voi enää myydä, koska voi olla mahdotonta tietää, kuinka kauan tuote oli pois pakastimesta.
Objektintunnistusta voidaan käyttää havaitsemaan odottamattomia tuotteita, ja taas IoT-laite voi ilmoittaa ihmiselle tai robotille tuotteen palauttamisesta heti, kun se havaitaan.
Yllä olevassa kuvassa maissipurkki on laitettu hyllylle tomaattipyreen viereen. Objektintunnistin on havainnut tämän, jolloin IoT-laite voi ilmoittaa ihmiselle tai robotille purkin palauttamisesta oikeaan paikkaan.
Kutsu objektintunnistinta IoT-laitteeltasi
Edellisessä oppitunnissa kouluttamaasi objektintunnistinta voidaan kutsua IoT-laitteeltasi.
Tehtävä - julkaise objektintunnistimen iterointi
Iteroinnit julkaistaan Custom Vision -portaalista.
-
Avaa Custom Vision -portaali osoitteessa CustomVision.ai ja kirjaudu sisään, jos et ole jo tehnyt niin. Avaa sitten
stock-detector
-projektisi. -
Valitse Performance-välilehti ylävalikosta.
-
Valitse uusin iterointi Iterations-listasta sivupalkista.
-
Valitse iteroinnin Publish-painike.
-
Publish Model -valintaikkunassa aseta Prediction resource viime oppitunnissa luomaasi
stock-detector-prediction
-resurssiin. Jätä nimiIteration2
:ksi ja valitse Publish-painike. -
Kun iterointi on julkaistu, valitse Prediction URL -painike. Tämä näyttää ennustuksen API:n tiedot, joita tarvitset mallin kutsumiseen IoT-laitteeltasi. Alempi osio on merkitty If you have an image file, ja nämä ovat tarvitsemasi tiedot. Kopioi näytetty URL, joka näyttää suunnilleen tältä:
https://<location>.api.cognitive.microsoft.com/customvision/v3.0/Prediction/<id>/detect/iterations/Iteration2/image
Missä
<location>
on sijainti, jonka käytit luodessasi Custom Vision -resurssin, ja<id>
on pitkä ID, joka koostuu kirjaimista ja numeroista.Kopioi myös Prediction-Key-arvo. Tämä on turvallinen avain, joka täytyy välittää mallia kutsuttaessa. Vain sovellukset, jotka välittävät tämän avaimen, voivat käyttää mallia, muut sovellukset hylätään.
✅ Kun uusi iterointi julkaistaan, sillä on eri nimi. Miten luulet, että IoT-laitteen käyttämä iterointi vaihdetaan?
Tehtävä - kutsu objektintunnistinta IoT-laitteeltasi
Seuraa alla olevia ohjeita käyttääksesi objektintunnistinta IoT-laitteeltasi:
Rajauslaatikot
Kun käytät objektintunnistinta, saat takaisin paitsi havaitut objektit niiden tunnisteiden ja todennäköisyyksien kanssa, myös objektien rajauslaatikot. Nämä määrittävät alueen, jossa objektintunnistin havaitsi objektin annetulla todennäköisyydellä.
💁 Rajauslaatikko on laatikko, joka määrittää alueen, joka sisältää havaitun objektin, laatikko, joka määrittää objektin rajat.
Ennustuksen tulokset Predictions-välilehdellä Custom Visionissa sisältävät rajauslaatikot, jotka on piirretty kuvan päälle, joka lähetettiin ennustettavaksi.
Yllä olevassa kuvassa havaittiin 4 tomaattipyreen purkkia. Tuloksissa punainen neliö on lisätty jokaisen havaitun objektin päälle, mikä osoittaa kuvan rajauslaatikon.
✅ Avaa ennustukset Custom Visionissa ja tarkista rajauslaatikot.
Rajauslaatikot määritetään neljällä arvolla - yläreuna, vasen reuna, korkeus ja leveys. Nämä arvot ovat asteikolla 0-1, mikä edustaa sijainteja prosentteina kuvan koosta. Alkuperä (0,0-sijainti) on kuvan vasen yläkulma, joten yläreunan arvo on etäisyys yläreunasta, ja rajauslaatikon alareuna on yläreuna plus korkeus.
Yllä oleva kuva on 600 pikseliä leveä ja 800 pikseliä korkea. Rajauslaatikko alkaa 320 pikseliä alaspäin, mikä antaa yläreunan arvoksi 0.4 (800 x 0.4 = 320). Vasemmalta raja alkaa 240 pikseliä sivulle, mikä antaa vasemman reunan arvoksi 0.4 (600 x 0.4 = 240). Rajauslaatikon korkeus on 240 pikseliä, mikä antaa korkeuden arvoksi 0.3 (800 x 0.3 = 240). Rajauslaatikon leveys on 120 pikseliä, mikä antaa leveyden arvoksi 0.2 (600 x 0.2 = 120).
Koordinaatti | Arvo |
---|---|
Yläreuna | 0.4 |
Vasen reuna | 0.4 |
Korkeus | 0.3 |
Leveys | 0.2 |
Prosenttiarvojen käyttö asteikolla 0-1 tarkoittaa, että riippumatta kuvan koosta, rajauslaatikko alkaa 0.4 matkan päästä ylhäältä ja vasemmalta, ja sen korkeus on 0.3 ja leveys 0.2.
Voit käyttää rajauslaatikoita yhdessä todennäköisyyksien kanssa arvioidaksesi, kuinka tarkka havainto on. Esimerkiksi objektintunnistin voi havaita useita objekteja, jotka menevät päällekkäin, esimerkiksi havaitsemalla yhden purkin toisen sisällä. Koodisi voisi tarkistaa rajauslaatikot, ymmärtää, että tämä on mahdotonta, ja jättää huomiotta kaikki objektit, joilla on merkittävä päällekkäisyys muiden objektien kanssa.
Yllä olevassa esimerkissä yksi rajauslaatikko osoittaa ennustetun tomaattipyreen purkin 78.3% todennäköisyydellä. Toinen rajauslaatikko on hieman pienempi ja sisällä ensimmäisessä laatikossa 64.3% todennäköisyydellä. Koodisi voi tarkistaa rajauslaatikot, nähdä niiden olevan täysin päällekkäisiä, ja jättää huomiotta alemman todennäköisyyden, koska ei ole mahdollista, että yksi purkki olisi toisen sisällä.
✅ Voitko keksiä tilanteen, jossa on validia havaita yksi objekti toisen sisällä?
Mallin uudelleenkoulutus
Kuten kuvien luokittelijan kanssa, voit kouluttaa mallisi uudelleen käyttämällä IoT-laitteesi keräämiä tietoja. Näiden todellisten tietojen käyttö varmistaa, että mallisi toimii hyvin, kun sitä käytetään IoT-laitteelta.
Toisin kuin kuvien luokittelijan kanssa, et voi vain merkitä kuvaa. Sen sijaan sinun täytyy tarkistaa jokainen mallin havaitsema rajauslaatikko. Jos laatikko on väärän asian ympärillä, se täytyy poistaa, ja jos se on väärässä paikassa, se täytyy säätää.
Tehtävä - kouluta malli uudelleen
-
Varmista, että olet kerännyt joukon kuvia IoT-laitteeltasi.
-
Valitse Predictions-välilehdeltä kuva. Näet punaisia laatikoita, jotka osoittavat havaittujen objektien rajauslaatikot.
-
Käy läpi jokainen rajauslaatikko. Valitse se ensin, ja näet ponnahdusikkunan, joka näyttää tunnisteen. Käytä laatikon kulmien kahvoja säätääksesi kokoa tarvittaessa. Jos tunniste on väärä, poista se X-painikkeella ja lisää oikea tunniste. Jos rajauslaatikko ei sisällä objektia, poista se roskakori-painikkeella.
-
Sulje editori, kun olet valmis, ja kuva siirtyy Predictions-välilehdeltä Training Images-välilehdelle. Toista prosessi kaikille ennustuksille.
-
Käytä Train-painiketta kouluttaaksesi mallisi uudelleen. Kun se on koulutettu, julkaise iterointi ja päivitä IoT-laitteesi käyttämään uuden iteroinnin URL-osoitetta.
-
Ota koodi käyttöön uudelleen ja testaa IoT-laitteesi.
Laske varasto
Käyttämällä havaittujen objektien määrää ja rajauslaatikoita yhdessä voit laskea hyllyllä olevan varaston.
Tehtävä - laske varasto
Seuraa alla olevia ohjeita laskeaksesi varaston IoT-laitteesi objektintunnistimen tulosten avulla:
🚀 Haaste
Voitko havaita väärän varaston? Kouluta mallisi useilla objekteilla ja päivitä sovelluksesi ilmoittamaan, jos väärä varasto havaitaan.
Ehkä voit viedä tämän pidemmälle ja havaita vierekkäiset varastot samalla hyllyllä ja nähdä, onko jotain laitettu väärään paikkaan määrittelemällä rajoituksia rajauslaatikoille.
Jälkikysely
Kertaus ja itseopiskelu
- Lue lisää siitä, miten rakentaa kokonaisvaltainen varastontunnistusjärjestelmä Out of stock detection at the edge pattern guide on Microsoft Docs
- Tutustu muihin tapoihin rakentaa kokonaisvaltaisia vähittäiskaupan ratkaisuja yhdistämällä erilaisia IoT- ja pilvipalveluita katsomalla tämä Behind the scenes of a retail solution - Hands On! video on YouTube.
Tehtävä
Käytä objektintunnistinta reunalla
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä johtuvista väärinkäsityksistä tai virhetulkinnoista.