4.9 KiB
Tambua Picha - Vifaa vya IoT vya Kijumla na Raspberry Pi
Katika sehemu hii ya somo, utatuma picha iliyokamatwa na kamera kwa huduma ya Custom Vision ili kuitambua.
Tuma picha kwa Custom Vision
Huduma ya Custom Vision ina Python SDK unayoweza kutumia kutambua picha.
Kazi - tuma picha kwa Custom Vision
-
Fungua folda ya
fruit-quality-detector
katika VS Code. Ikiwa unatumia kifaa cha IoT cha kijumla, hakikisha mazingira ya kijumla yanafanya kazi kwenye terminal. -
Python SDK ya kutuma picha kwa Custom Vision inapatikana kama kifurushi cha Pip. Isakinishe kwa amri ifuatayo:
pip3 install azure-cognitiveservices-vision-customvision
-
Ongeza kauli za uingizaji zifuatazo juu ya faili ya
app.py
:from msrest.authentication import ApiKeyCredentials from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient
Hii inaleta baadhi ya moduli kutoka maktaba za Custom Vision, moja ya kuidhinisha kwa kutumia prediction key, na nyingine ya kutoa darasa la prediction client ambalo linaweza kuita Custom Vision.
-
Ongeza msimbo ufuatao mwishoni mwa faili:
prediction_url = '<prediction_url>' prediction_key = '<prediction key>'
Badilisha
<prediction_url>
na URL uliyokopi kutoka kwenye dialog ya Prediction URL mapema katika somo hili. Badilisha<prediction key>
na prediction key uliyokopi kutoka dialog hiyo hiyo. -
URL ya prediction iliyotolewa na dialog ya Prediction URL imeundwa kutumika wakati wa kuita REST endpoint moja kwa moja. Python SDK hutumia sehemu za URL katika maeneo tofauti. Ongeza msimbo ufuatao ili kugawanya URL hii katika sehemu zinazohitajika:
parts = prediction_url.split('/') endpoint = 'https://' + parts[2] project_id = parts[6] iteration_name = parts[9]
Hii inagawanya URL, ikitoa endpoint ya
https://<location>.api.cognitive.microsoft.com
, ID ya mradi, na jina la iteration iliyochapishwa. -
Unda kitu cha predictor ili kufanya prediction kwa msimbo ufuatao:
prediction_credentials = ApiKeyCredentials(in_headers={"Prediction-key": prediction_key}) predictor = CustomVisionPredictionClient(endpoint, prediction_credentials)
prediction_credentials
hufunga prediction key. Hizi kisha hutumika kuunda kitu cha prediction client kinachoelekeza kwenye endpoint. -
Tuma picha kwa Custom Vision kwa kutumia msimbo ufuatao:
image.seek(0) results = predictor.classify_image(project_id, iteration_name, image)
Hii inarudisha picha mwanzoni, kisha inaituma kwa prediction client.
-
Hatimaye, onyesha matokeo kwa msimbo ufuatao:
for prediction in results.predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
Hii itapitia predictions zote zilizorejeshwa na kuzionyesha kwenye terminal. Uwezekano uliorejeshwa ni namba za pointi za kuelea kutoka 0-1, ambapo 0 ni asilimia 0 ya kufanana na tag, na 1 ni asilimia 100 ya kufanana.
💁 Watambuzi wa picha watarudisha asilimia kwa tag zote zilizotumika. Kila tag itakuwa na uwezekano kwamba picha inafanana na tag hiyo.
-
Endesha msimbo wako, ukiwa na kamera yako ikielekea kwenye matunda fulani, au seti sahihi ya picha, au matunda yanayoonekana kwenye webcam yako ikiwa unatumia vifaa vya IoT vya kijumla. Utaona matokeo kwenye console:
(.venv) ➜ fruit-quality-detector python app.py ripe: 56.84% unripe: 43.16%
Utaweza kuona picha iliyopigwa, na maadili haya katika tab ya Predictions kwenye Custom Vision.
💁 Unaweza kupata msimbo huu katika folda ya code-classify/pi au code-classify/virtual-iot-device.
😀 Programu yako ya kutambua ubora wa matunda imefanikiwa!
Kanusho:
Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI Co-op Translator. Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati asilia katika lugha yake ya awali inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.