4.9 KiB
Kutsu oma objektidetektorit IoT-seadmest - Virtuaalne IoT-riistvara ja Raspberry Pi
Kui sinu objektidetektor on avaldatud, saab seda kasutada IoT-seadmest.
Kopeeri pildiklassifitseerimise projekt
Enamik sinu laoseisu detektori koodist on sama, mis pildiklassifitseerija, mille lõid eelmises õppetükis.
Ülesanne - kopeeri pildiklassifitseerimise projekt
-
Loo kaust nimega
stock-counterkas oma arvutis, kui kasutad virtuaalset IoT-seadet, või Raspberry Pi-s. Kui kasutad virtuaalset IoT-seadet, veendu, et seadistad virtuaalse keskkonna. -
Seadista kaamera riistvara.
- Kui kasutad Raspberry Pi-d, pead paigaldama PiCamera. Võid kaamera fikseerida ühes asendis, näiteks riputades kaablit kasti või konservi kohale või kinnitades kaamera kasti külge kahepoolse teibiga.
- Kui kasutad virtuaalset IoT-seadet, pead installima CounterFit ja CounterFit PyCamera shimi. Kui plaanid kasutada staatilisi pilte, tee mõned pildid, mida sinu objektidetektor pole veel näinud. Kui plaanid kasutada veebikaamerat, veendu, et see on paigutatud nii, et näeb tuvastatavat laoseisu.
-
Korda samme tootmisprojekti 2. õppetükist, et kaamerast pilte jäädvustada.
-
Korda samme tootmisprojekti 2. õppetükist, et kutsuda pildiklassifitseerijat. Enamik sellest koodist kasutatakse uuesti objektide tuvastamiseks.
Muuda kood klassifitseerijast objektidetektoriks
Kood, mida kasutasid piltide klassifitseerimiseks, on väga sarnane koodile, mida kasutatakse objektide tuvastamiseks. Peamine erinevus on meetod, mida kutsutakse Custom Vision SDK-s, ja kõne tulemused.
Ülesanne - muuda kood klassifitseerijast objektidetektoriks
-
Kustuta kolm koodirida, mis klassifitseerivad pildi ja töötlevad ennustusi:
results = predictor.classify_image(project_id, iteration_name, image) for prediction in results.predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')Eemalda need kolm rida.
-
Lisa järgmine kood, et tuvastada objekte pildil:
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}%')See kood kutsub
detect_imagemeetodit prediktoril, et käivitada objektidetektor. Seejärel kogub kõik ennustused, mille tõenäosus ületab läve, ja prindib need konsooli.Erinevalt pildiklassifitseerijast, mis tagastab ainult ühe tulemuse iga sildi kohta, tagastab objektidetektor mitu tulemust, mistõttu tuleb madala tõenäosusega tulemused välja filtreerida.
-
Käivita see kood, mis jäädvustab pildi, saadab selle objektidetektorile ja prindib tuvastatud objektid. Kui kasutad virtuaalset IoT-seadet, veendu, et CounterFitis on seadistatud sobiv pilt või valitud veebikaamera. Kui kasutad Raspberry Pi-d, veendu, et kaamera on suunatud riiulil olevatele objektidele.
pi@raspberrypi:~/stock-counter $ python3 app.py tomato paste: 34.13% tomato paste: 33.95% tomato paste: 35.05% tomato paste: 32.80%💁 Võid vajadusel kohandada
thresholdväärtust, et see sobiks sinu piltidega.Saad vaadata tehtud pilti ja neid väärtusi Predictions vahekaardil Custom Visionis.
💁 Selle koodi leiad code-detect/pi või code-detect/virtual-iot-device kaustast.
😀 Sinu laoseisu loendamise programm oli edukas!
Lahtiütlus:
See dokument on tõlgitud AI tõlketeenuse Co-op Translator abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.
