You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/sl/5-retail/lessons/1-train-stock-detector/README.md

16 KiB

Učite se zaznavanja zalog

Sketchnote pregled te lekcije

Sketchnote avtorja Nitya Narasimhan. Kliknite na sliko za večjo različico.

Ta video ponuja pregled zaznavanja objektov s storitvijo Azure Custom Vision, ki bo obravnavana v tej lekciji.

Custom Vision 2 - Object Detection Made Easy | The Xamarin Show

🎥 Kliknite na zgornjo sliko za ogled videa

Predhodni kviz

Predhodni kviz

Uvod

V prejšnjem projektu ste uporabili AI za treniranje klasifikatorja slik modela, ki lahko ugotovi, ali slika vsebuje nekaj, na primer zrelo ali nezrelo sadje. Drug tip AI modela, ki se lahko uporablja s slikami, je zaznavanje objektov. Ti modeli ne klasificirajo slike z oznakami, temveč so usposobljeni za prepoznavanje objektov in jih lahko najdejo na slikah, ne le zaznajo, da je objekt prisoten, ampak tudi kje na sliki se nahaja. To omogoča štetje objektov na slikah.

V tej lekciji boste spoznali zaznavanje objektov, vključno s tem, kako se lahko uporablja v trgovini na drobno. Prav tako se boste naučili, kako trenirati zaznavalnik objektov v oblaku.

V tej lekciji bomo obravnavali:

Zaznavanje objektov

Zaznavanje objektov vključuje zaznavanje objektov na slikah z uporabo AI. Za razliko od klasifikatorja slik, ki ste ga trenirali v prejšnjem projektu, zaznavanje objektov ni namenjeno napovedovanju najboljše oznake za celotno sliko, temveč iskanju enega ali več objektov na sliki.

Zaznavanje objektov vs klasifikacija slik

Klasifikacija slik se osredotoča na klasifikacijo celotne slike kakšne so verjetnosti, da celotna slika ustreza vsaki oznaki. Rezultat so verjetnosti za vsako oznako, ki je bila uporabljena za treniranje modela.

Klasifikacija slik za indijske oreščke in paradižnikovo pasto

V zgornjem primeru sta dve sliki klasificirani z modelom, ki je bil usposobljen za klasifikacijo posod z indijskimi oreščki ali pločevink paradižnikove paste. Prva slika je posoda z indijskimi oreščki in ima dva rezultata klasifikatorja slik:

Oznaka Verjetnost
indijski oreščki 98.4%
paradižnikova pasta 1.6%

Druga slika je pločevinka paradižnikove paste, rezultati pa so:

Oznaka Verjetnost
indijski oreščki 0.7%
paradižnikova pasta 99.3%

Te vrednosti bi lahko uporabili z odstotnim pragom za napovedovanje, kaj je na sliki. Kaj pa, če slika vsebuje več pločevink paradižnikove paste ali tako indijske oreščke kot paradižnikovo pasto? Rezultati verjetno ne bi dali želenega odgovora. Tukaj pride v poštev zaznavanje objektov.

Zaznavanje objektov vključuje treniranje modela za prepoznavanje objektov. Namesto da mu podate slike, ki vsebujejo objekt, in mu poveste, da je vsaka slika ena oznaka ali druga, označite del slike, ki vsebuje določen objekt, in ga označite. Lahko označite en sam objekt na sliki ali več. Na ta način se model nauči, kako izgleda sam objekt, ne le kako izgledajo slike, ki vsebujejo objekt.

Ko ga nato uporabite za napovedovanje slik, namesto da dobite seznam oznak in odstotkov, dobite seznam zaznanih objektov, z njihovim okvirjem in verjetnostjo, da okvir ustreza dodeljeni oznaki.

🎓 Okvirji so škatle okoli objekta.

Zaznavanje objektov za indijske oreščke in paradižnikovo pasto

Zgornja slika vsebuje tako posodo z indijskimi oreščki kot tri pločevinke paradižnikove paste. Zaznavalnik objektov je zaznal indijske oreščke in vrnil okvir, ki vsebuje indijske oreščke, z odstotno verjetnostjo, da okvir vsebuje objekt, v tem primeru 97.6%. Zaznavalnik objektov je zaznal tudi tri pločevinke paradižnikove paste in zagotavlja tri ločene okvirje, enega za vsako zaznano pločevinko, pri čemer ima vsak odstotno verjetnost, da okvir vsebuje pločevinko paradižnikove paste.

Pomislite na različne scenarije, za katere bi želeli uporabiti modele AI, ki temeljijo na slikah. Kateri bi potrebovali klasifikacijo, in kateri zaznavanje objektov?

Kako deluje zaznavanje objektov

Zaznavanje objektov uporablja kompleksne ML modele. Ti modeli delujejo tako, da sliko razdelijo na več celic, nato preverijo, ali je središče okvirja središče slike, ki ustreza eni od slik, uporabljenih za treniranje modela. To si lahko predstavljate kot nekakšno izvajanje klasifikatorja slik na različnih delih slike za iskanje ujemanj.

💁 To je drastično poenostavljeno. Obstaja veliko tehnik za zaznavanje objektov, o katerih lahko preberete več na strani o zaznavanju objektov na Wikipediji.

Obstaja več različnih modelov, ki lahko izvajajo zaznavanje objektov. Eden posebej znanih modelov je YOLO (You only look once), ki je izjemno hiter in lahko zazna 20 različnih razredov objektov, kot so ljudje, psi, steklenice in avtomobili.

Preberite več o modelu YOLO na pjreddie.com/darknet/yolo/

Modele za zaznavanje objektov je mogoče ponovno usposobiti z uporabo prenosa učenja za zaznavanje prilagojenih objektov.

Uporaba zaznavanja objektov v trgovini na drobno

Zaznavanje objektov ima več uporab v trgovini na drobno. Nekatere vključujejo:

  • Preverjanje zalog in štetje prepoznavanje, kdaj je zaloga na policah nizka. Če je zaloga prenizka, se lahko pošljejo obvestila osebju ali robotom za ponovno polnjenje polic.
  • Zaznavanje mask v trgovinah s politiko nošenja mask med javnozdravstvenimi dogodki lahko zaznavanje objektov prepozna ljudi z maskami in brez njih.
  • Samodejno zaračunavanje zaznavanje predmetov, vzetih s polic v avtomatiziranih trgovinah, in ustrezno zaračunavanje strankam.
  • Zaznavanje nevarnosti prepoznavanje zlomljenih predmetov na tleh ali razlitih tekočin, obveščanje čistilnih ekip.

Raziskujte: Katere so še nekatere uporabe zaznavanja objektov v trgovini na drobno?

Treniranje zaznavalnika objektov

Zaznavalnik objektov lahko trenirate z uporabo Custom Vision, na podoben način kot ste trenirali klasifikator slik.

Naloga - ustvarite zaznavalnik objektov

  1. Ustvarite skupino virov za ta projekt z imenom stock-detector.

  2. Ustvarite brezplačen vir za treniranje Custom Vision in brezplačen vir za napovedovanje Custom Vision v skupini virov stock-detector. Poimenujte ju stock-detector-training in stock-detector-prediction.

    💁 Imate lahko le en brezplačen vir za treniranje in napovedovanje, zato se prepričajte, da ste počistili projekt iz prejšnjih lekcij.

    ⚠️ Če potrebujete, se lahko sklicujete na navodila za ustvarjanje virov za treniranje in napovedovanje iz projekta 4, lekcija 1.

  3. Zaženite portal Custom Vision na CustomVision.ai in se prijavite z Microsoftovim računom, ki ste ga uporabili za svoj Azure račun.

  4. Sledite oddelku Ustvarjanje novega projekta v hitrem začetku za gradnjo zaznavalnika objektov na Microsoft Docs, da ustvarite nov projekt Custom Vision. UI se lahko spremeni, zato so ti dokumenti vedno najbolj ažurna referenca.

    Poimenujte svoj projekt stock-detector.

    Ko ustvarite svoj projekt, se prepričajte, da uporabljate vir stock-detector-training, ki ste ga ustvarili prej. Uporabite tip projekta Object Detection in domeno Products on Shelves.

    Nastavitve za projekt Custom Vision z imenom fruit-quality-detector, brez opisa, virom nastavljenim na fruit-quality-detector-training, tipom projekta nastavljenim na klasifikacijo, klasifikacijskimi tipi nastavljenimi na več razredov in domenami nastavljenimi na hrano

    Domena izdelkov na policah je posebej namenjena zaznavanju zalog na trgovinskih policah. Preberite več o različnih domenah v dokumentaciji o izbiri domene na Microsoft Docs

Vzemite si čas za raziskovanje UI Custom Vision za vaš zaznavalnik objektov.

Naloga - trenirajte svoj zaznavalnik objektov

Za treniranje modela boste potrebovali niz slik, ki vsebujejo objekte, ki jih želite zaznati.

  1. Zberite slike, ki vsebujejo objekt za zaznavanje. Potrebovali boste vsaj 15 slik, ki vsebujejo vsak objekt za zaznavanje iz različnih kotov in v različnih svetlobnih pogojih, vendar več je bolje. Ta zaznavalnik objektov uporablja domeno Products on shelves, zato poskusite postaviti objekte, kot da so na trgovinski polici. Potrebovali boste tudi nekaj slik za testiranje modela. Če zaznavate več kot en objekt, boste želeli nekaj testnih slik, ki vsebujejo vse objekte.

    💁 Slike z več različnimi objekti štejejo k minimalnim 15 slikam za vse objekte na sliki.

    Vaše slike naj bodo png ali jpeg, manjše od 6MB. Če jih ustvarite z iPhone, na primer, so lahko visoko ločljive HEIC slike, zato jih bo treba pretvoriti in morda zmanjšati. Več slik je bolje, in imeti bi morali podobno število zrelih in nezrelih.

    Model je zasnovan za izdelke na policah, zato poskusite fotografirati objekte na policah.

    Nekaj primerov slik, ki jih lahko uporabite, najdete v mapi images za indijske oreščke in paradižnikovo pasto.

  2. Sledite oddelku Naloži in označi slike v hitrem začetku za gradnjo zaznavalnika objektov na Microsoft Docs, da naložite svoje slike za treniranje. Ustvarite ustrezne oznake glede na vrste objektov, ki jih želite zaznati.

    Dialogi za nalaganje, ki prikazujejo nalaganje slik zrelih in nezrelih banan

    Ko rišete okvirje za objekte, jih držite tesno okoli objekta. Lahko traja nekaj časa, da obkrožite vse slike, vendar orodje zazna, kaj meni, da so okvirji, kar proces pospeši.

    Označevanje paradižnikove paste

    💁 Če imate več kot 15 slik za vsak objekt, lahko trenirate po 15 in nato uporabite funkcijo Predlagane oznake. To bo uporabilo trenirani model za zaznavanje objektov na neoznačenih slikah. Nato lahko potrdite zaznane objekte ali jih zavrnete in ponovno narišete okvirje. To lahko prihrani veliko časa.

  3. Sledite oddelku Treniranje zaznavalnika v hitrem začetku za gradnjo zaznavalnika objektov na Microsoft Docs, da trenirate zaznavalnik objektov na svojih označenih slikah.

    Dobili boste izbiro vrste treniranja. Izberite Quick Training.

Zaznavalnik objektov se bo nato treniral. Treniranje bo trajalo nekaj minut.

Testiranje zaznavalnika objektov

Ko je vaš zaznavalnik objektov treniran, ga lahko testirate tako, da mu podate nove slike za zaznavanje objektov.

Naloga - testirajte svoj zaznavalnik objektov

  1. Uporabite gumb Quick Test, da naložite testne slike in preverite, ali so objekti zaznani. Uporabite testne slike, ki ste jih ustvarili prej, ne pa nobene od slik, ki ste jih uporabili za treniranje.

    3 pločevinke paradižnikove paste zaznane z verjetnostmi 38%, 35.5% in 34.6%

  2. Poskusite vse testne slike, ki jih imate na voljo, in opazujte verjetnosti.

Ponovno treniranje zaznavalnika objektov

Ko testirate svoj zaznavalnik objektov, morda ne bo dal pričakovanih rezultatov, enako kot pri klasifikatorjih slik v prejšnjem projektu. Svoj zaznavalnik objektov lahko izboljšate tako, da ga ponovno trenirate s slikami, pri katerih se zmoti.

Vsakič, ko izvedete napoved z možnostjo hitrega testiranja, se slika in rezultati shranijo. Te slike lahko uporabite za ponovno treniranje modela.

  1. Uporabite zavihek Predictions, da poiščete slike, ki ste jih uporabili za testiranje.

  2. Potrdite vse natančne zaznave, izbrišite napačne in dodajte manjkajoče objekte.

  3. Ponovno trenirajte in ponovno testirajte model.


🚀 Izziv

Kaj bi se zgodilo, če bi uporabili zaznavalnik objektov s podobnimi predmeti, kot so pločevinke iste znamke paradižnikove paste in sesekljanega paradižnika?

Če imate kakšne podobne predmete, jih preizkusite tako, da dodate njihove slike v svoj zaznavalnik objektov.

Zaključni kviz

Post-lecture quiz

Pregled in samostojno učenje

Naloga

Primerjajte domene


Omejitev odgovornosti:
Ta dokument je bil preveden z uporabo storitve za strojno prevajanje Co-op Translator. Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo strokovno človeško prevajanje. Ne prevzemamo odgovornosti za morebitna nesporazumevanja ali napačne razlage, ki izhajajo iz uporabe tega prevoda.