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/da/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-class...

5.2 KiB

Klassificér et billede - Virtuel IoT-hardware og Raspberry Pi

I denne del af lektionen vil du sende det billede, som kameraet har taget, til Custom Vision-tjenesten for at klassificere det.

Send billeder til Custom Vision

Custom Vision-tjenesten har et Python SDK, som du kan bruge til at klassificere billeder.

Opgave - send billeder til Custom Vision

  1. Åbn mappen fruit-quality-detector i VS Code. Hvis du bruger en virtuel IoT-enhed, skal du sikre dig, at det virtuelle miljø kører i terminalen.

  2. Python SDK'et til at sende billeder til Custom Vision er tilgængeligt som en Pip-pakke. Installer det med følgende kommando:

    pip3 install azure-cognitiveservices-vision-customvision
    
  3. Tilføj følgende import-udsagn øverst i filen app.py:

    from msrest.authentication import ApiKeyCredentials
    from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient
    

    Dette importerer nogle moduler fra Custom Vision-bibliotekerne, et til at autentificere med predictions-nøglen, og et til at levere en predictions-klientklasse, der kan kalde Custom Vision.

  4. Tilføj følgende kode til slutningen af filen:

    prediction_url = '<prediction_url>'
    prediction_key = '<prediction key>'
    

    Erstat <prediction_url> med den URL, du kopierede fra dialogboksen Prediction URL tidligere i denne lektion. Erstat <prediction key> med predictions-nøglen, du kopierede fra samme dialog.

  5. Den predictions-URL, der blev leveret af dialogboksen Prediction URL, er designet til at blive brugt, når REST-endpointet kaldes direkte. Python SDK'et bruger dele af URL'en forskellige steder. Tilføj følgende kode for at opdele denne URL i de nødvendige dele:

    parts = prediction_url.split('/')
    endpoint = 'https://' + parts[2]
    project_id = parts[6]
    iteration_name = parts[9]
    

    Dette opdeler URL'en og udtrækker endpointet https://<location>.api.cognitive.microsoft.com, projekt-ID'et og navnet på den publicerede iteration.

  6. Opret et predictor-objekt til at udføre predictions med følgende kode:

    prediction_credentials = ApiKeyCredentials(in_headers={"Prediction-key": prediction_key})
    predictor = CustomVisionPredictionClient(endpoint, prediction_credentials)
    

    prediction_credentials indkapsler predictions-nøglen. Disse bruges derefter til at oprette et predictions-klientobjekt, der peger på endpointet.

  7. Send billedet til Custom Vision ved hjælp af følgende kode:

    image.seek(0)
    results = predictor.classify_image(project_id, iteration_name, image)
    

    Dette spoler billedet tilbage til starten og sender det derefter til predictions-klienten.

  8. Vis til sidst resultaterne med følgende kode:

    for prediction in results.predictions:
        print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
    

    Dette vil gennemløbe alle de predictions, der er blevet returneret, og vise dem i terminalen. De sandsynligheder, der returneres, er flydende tal fra 0-1, hvor 0 er 0% chance for at matche tagget, og 1 er 100% chance.

    💁 Billedklassifikatorer vil returnere procentdelene for alle tags, der er blevet brugt. Hvert tag vil have en sandsynlighed for, at billedet matcher det tag.

  9. Kør din kode, med dit kamera pegende på noget frugt, eller et passende billedsæt, eller frugt synligt på dit webcam, hvis du bruger virtuel IoT-hardware. Du vil se outputtet i konsollen:

    (.venv) ➜  fruit-quality-detector python app.py
    ripe:   56.84%
    unripe: 43.16%
    

    Du vil kunne se det billede, der blev taget, og disse værdier i fanen Predictions i Custom Vision.

    En banan i Custom Vision forudsagt som moden med 56,8% og umoden med 43,1%

💁 Du kan finde denne kode i mappen code-classify/pi eller code-classify/virtual-iot-device.

😀 Dit program til klassificering af frugtkvalitet var en succes!


Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på at sikre nøjagtighed, skal det bemærkes, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os ikke ansvar for misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.