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/lt/5-retail/lessons/2-check-stock-device/single-board-computer-objec...

5.4 KiB

Paleiskite savo objektų detektorių iš IoT įrenginio - Virtuali IoT aparatinė įranga ir Raspberry Pi

Kai jūsų objektų detektorius bus paskelbtas, jį bus galima naudoti iš jūsų IoT įrenginio.

Nukopijuokite vaizdų klasifikatoriaus projektą

Didžioji dalis jūsų atsargų detektoriaus yra tokia pati kaip vaizdų klasifikatorius, kurį sukūrėte ankstesnėje pamokoje.

Užduotis - nukopijuokite vaizdų klasifikatoriaus projektą

  1. Sukurkite aplanką, pavadintą stock-counter, savo kompiuteryje, jei naudojate virtualų IoT įrenginį, arba savo Raspberry Pi. Jei naudojate virtualų IoT įrenginį, įsitikinkite, kad nustatėte virtualią aplinką.

  2. Paruoškite kameros aparatinę įrangą.

    • Jei naudojate Raspberry Pi, turėsite prijungti PiCamera. Taip pat galite norėti pritvirtinti kamerą vienoje padėtyje, pavyzdžiui, pakabindami kabelį virš dėžutės ar skardinės arba pritvirtindami kamerą prie dėžutės su dvipuse lipnia juosta.
    • Jei naudojate virtualų IoT įrenginį, turėsite įdiegti CounterFit ir CounterFit PyCamera shim. Jei ketinate naudoti statinius vaizdus, užfiksuokite keletą vaizdų, kurių jūsų objektų detektorius dar nematė. Jei ketinate naudoti savo internetinę kamerą, įsitikinkite, kad ji yra tokioje padėtyje, kuri leidžia matyti aptinkamas atsargas.
  3. Pakartokite veiksmus iš gamybos projekto 2 pamokos, kad užfiksuotumėte vaizdus iš kameros.

  4. Pakartokite veiksmus iš gamybos projekto 2 pamokos, kad iškviestumėte vaizdų klasifikatorių. Didžioji dalis šio kodo bus panaudota objektų aptikimui.

Pakeiskite kodą iš klasifikatoriaus į vaizdų detektorių

Kodas, kurį naudojote vaizdų klasifikavimui, yra labai panašus į kodą, skirtą objektų aptikimui. Pagrindinis skirtumas yra metodas, naudojamas Custom Vision SDK, ir skambučio rezultatai.

Užduotis - pakeiskite kodą iš klasifikatoriaus į vaizdų detektorių

  1. Ištrinkite tris kodo eilutes, kurios klasifikuoja vaizdą ir apdoroja prognozes:

    results = predictor.classify_image(project_id, iteration_name, image)
    
    for prediction in results.predictions:
        print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
    

    Pašalinkite šias tris eilutes.

  2. Pridėkite šį kodą, kad aptiktumėte objektus vaizde:

    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}%')
    

    Šis kodas iškviečia detect_image metodą iš prognozuotojo, kad paleistų objektų detektorių. Tada jis surenka visas prognozes, kurių tikimybė viršija nustatytą ribą, ir išspausdina jas konsolėje.

    Skirtingai nuo vaizdų klasifikatoriaus, kuris grąžina tik vieną rezultatą kiekvienai žymai, objektų detektorius grąžins kelis rezultatus, todėl reikia atmesti tuos, kurių tikimybė yra maža.

  3. Paleiskite šį kodą, ir jis užfiksuos vaizdą, išsiųs jį objektų detektoriui ir išspausdins aptiktus objektus. Jei naudojate virtualų IoT įrenginį, įsitikinkite, kad CounterFit yra nustatytas tinkamas vaizdas arba pasirinkta internetinė kamera. Jei naudojate Raspberry Pi, įsitikinkite, kad jūsų kamera nukreipta į lentynoje esančius objektus.

    pi@raspberrypi:~/stock-counter $ python3 app.py 
    tomato paste:   34.13%
    tomato paste:   33.95%
    tomato paste:   35.05%
    tomato paste:   32.80%
    

    💁 Gali prireikti sureguliuoti threshold reikšmę, kad ji atitiktų jūsų vaizdus.

    Galėsite matyti užfiksuotą vaizdą ir šias reikšmes Predictions skirtuke Custom Vision.

    4 pomidorų pastos skardinės lentynoje su prognozėmis apie 4 aptikimus: 35.8%, 33.5%, 25.7% ir 16.6%

💁 Šį kodą galite rasti code-detect/pi arba code-detect/virtual-iot-device aplankuose.

😀 Jūsų atsargų skaičiavimo programa buvo sėkminga!


Atsakomybės apribojimas:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Dėl svarbios informacijos rekomenduojama profesionali žmogaus vertimo paslauga. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius naudojant šį vertimą.