5.1 KiB
Kutsu objektintunnistinta IoT-laitteestasi - Virtuaalinen IoT-laitteisto ja Raspberry Pi
Kun objektintunnistin on julkaistu, sitä voidaan käyttää IoT-laitteestasi.
Kopioi kuvaluokitteluprojekti
Suurin osa varastotunnistimestasi on sama kuin kuvaluokitin, jonka loit aiemmassa oppitunnissa.
Tehtävä - kopioi kuvaluokitteluprojekti
-
Luo kansio nimeltä
stock-counter
joko tietokoneellesi, jos käytät virtuaalista IoT-laitetta, tai Raspberry Pi:llesi. Jos käytät virtuaalista IoT-laitetta, varmista, että asetat virtuaalisen ympäristön. -
Asenna kameran laitteisto.
- Jos käytät Raspberry Pi:tä, sinun täytyy asentaa PiCamera. Saatat myös haluta kiinnittää kameran yhteen paikkaan, esimerkiksi ripustamalla kaapelin laatikon tai tölkin päälle, tai kiinnittämällä kameran laatikkoon kaksipuolisella teipillä.
- Jos käytät virtuaalista IoT-laitetta, sinun täytyy asentaa CounterFit ja CounterFit PyCamera -lisäosa. Jos aiot käyttää still-kuvia, ota kuvia, joita objektintunnistin ei ole vielä nähnyt. Jos aiot käyttää verkkokameraa, varmista, että se on sijoitettu niin, että se näkee tunnistettavan varaston.
-
Toista vaiheet valmistusprojektin oppitunnista 2 kuvien ottamiseksi kameralla.
-
Toista vaiheet valmistusprojektin oppitunnista 2 kutsuaksesi kuvaluokitinta. Suurin osa tästä koodista käytetään uudelleen objektien tunnistamiseen.
Muuta koodi luokittimesta objektintunnistimeksi
Koodi, jota käytit kuvien luokitteluun, on hyvin samanlainen kuin koodi objektien tunnistamiseen. Suurin ero on Custom Vision SDK:n kutsutussa metodissa ja kutsun tuloksissa.
Tehtävä - muuta koodi luokittimesta objektintunnistimeksi
-
Poista kolme riviä koodia, jotka luokittelevat kuvan ja käsittelevät ennusteet:
results = predictor.classify_image(project_id, iteration_name, image) for prediction in results.predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
Poista nämä kolme riviä.
-
Lisää seuraava koodi tunnistaaksesi objektit kuvasta:
results = predictor.detect_image(project_id, iteration_name, image) threshold = 0.3 predictions = list(prediction for prediction in results.predictions if prediction.probability > threshold) for prediction in predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
Tämä koodi kutsuu
detect_image
-metodia ennustajassa suorittaakseen objektintunnistimen. Se kerää kaikki ennusteet, joiden todennäköisyys ylittää kynnyksen, ja tulostaa ne konsoliin.Toisin kuin kuvaluokitin, joka palauttaa vain yhden tuloksen per tunniste, objektintunnistin palauttaa useita tuloksia, joten kaikki matalan todennäköisyyden tulokset täytyy suodattaa pois.
-
Suorita tämä koodi, ja se ottaa kuvan, lähettää sen objektintunnistimelle ja tulostaa tunnistetut objektit. Jos käytät virtuaalista IoT-laitetta, varmista, että CounterFitissä on asetettu sopiva kuva tai että verkkokamera on valittu. Jos käytät Raspberry Pi:tä, varmista, että kamerasi osoittaa hyllyllä oleviin objekteihin.
pi@raspberrypi:~/stock-counter $ python3 app.py tomato paste: 34.13% tomato paste: 33.95% tomato paste: 35.05% tomato paste: 32.80%
💁 Saatat joutua säätämään
threshold
-arvoa sopivaksi kuvillesi.Näet otetun kuvan ja nämä arvot Predictions-välilehdellä Custom Visionissa.
💁 Löydät tämän koodin code-detect/pi tai code-detect/virtual-iot-device -kansiosta.
😀 Varastolaskuriohjelmasi onnistui!
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äinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.