Övning – Integrera Azure Custom Vision

Slutförd

I den här modulen får du lära dig hur du använder Azure Custom Vision. Du tar en uppsättning foton av ett spårat objekt, laddar upp dem till Custom Vision-tjänsten och startar träningsprocessen. Sedan använder du tjänsten för att identifiera det spårade objektet genom att ta foton från webbkameraflödet.

Förstå Azure AI Custom Vision

Azure AI Custom Vision är en del av Cognitive Services-familjen och används för att träna bildklassificerare. Bildklassificeraren är en AI-tjänst som använder den tränade modellen för att tillämpa matchande taggar. Vårt program använder den här klassificeringsfunktionen för att identifiera spårade objekt.

Läs mer om Custom Vision.

Förbereda Custom Vision

Innan du kan börja måste du skapa ett Custom Vision-projekt. Det snabbaste sättet att skapa ditt Custom Vision-projekt är att använda Custom Vision-portalen.

Följ den här snabbstartsguiden för att konfigurera ditt konto och projekt. Följ stegen upp till avsnittet Ladda upp och tagga bilder . Du bör skapa en tagg med fem bilder.

Varning

Om du vill träna en modell måste du ha minst två taggar och fem bilder per tagg. Senare lägger vi till fler bilder via programmet. Om du vill använda det här programmet måste du dock skapa minst en tagg med fem bilder så att träningsprocessen inte misslyckas senare.

Förbereda scenen

  1. I fönstret Projekt navigerar du till MRTK för tillgångar>. Tutorials.AzureCloudServices>Prefabs>Manager-mapp .

    Screenshot of Unity with Project window showing path to ObjectDetectionManager prefab.

  2. Därifrån drar du prefaben ObjectDetectionManager till scenhierarkin.

    Screenshot of Unity with ObjectDetectionManager script component configuration fields shown in Inspector.

  3. Leta upp och välj objektet ObjectDetectionManager i hierarkifönstret. Prefab för ObjectDetectionManager innehåller komponenten ObjectDetectionManager (skript) och som du kan se från fönstret Inspector beror det på Azure-inställningar och Projektinställningar.

Hämta autentiseringsuppgifter för Azure API-resurser

Du kan hämta nödvändiga autentiseringsuppgifter för ObjectDetectionManager-inställningarna (skript) från Azure-portalen och Custom Vision-portalen.

Hämta autentiseringsuppgifter för Azure-inställningar

Leta upp och leta upp Custom Vision-resursen för den Cognitive Services-typ som du skapade i avsnittet Förbereda scenen i den här självstudien. Där väljer du Översikt eller Nycklar och Slutpunkt för att hämta nödvändiga autentiseringsuppgifter.

  • Azure-resursprenumerations-ID: Använd prenumerations-ID:t från avsnittet Översikt .
  • Namn på Azure-resursgrupp: Använd resursgruppens namn i avsnittet Översikt .

För Cognitive Service Group Name använder du det Custom Vision-resursnamn som följs av -Prediction.

  • Slutpunkt för resursbasförutsägelse: Använd slutpunkten från nycklar och slutpunkt i resursen Custom Vision -Prediction .
  • Api Prediction Key (Api Prediction Key): Använd nyckel 1 från nycklar och slutpunkter i resursen Custom Vision -Prediction .

Hämta autentiseringsuppgifter för projektinställningar

Öppna det projekt som du skapade för den här självstudien på Custom Vision-instrumentpanelen och välj sedan ikonen Inställningar (kugghjul) i det övre högra hörnet på sidan för att öppna sidan Inställningar. Du hittar nödvändiga autentiseringsuppgifter i avsnittet Resurser till höger och avsnittet Allmänt till vänster.

  • Resursbasslutpunkt : Använd slutpunkten från avsnittet Resurser . Detta bör matcha slutpunkten under Nycklar och slutpunkt i Custom Vision-resursen.
  • API-nyckel: Använd nyckeln från avsnittet Resurser . Detta bör matcha nyckeln under Nycklar och slutpunkt i Custom Vision-resursen.
  • Projekt-ID: Använd projekt-ID från avsnittet Allmänt .
  1. Nu när ObjectDetectionManager (skript) har konfigurerats korrekt letar du reda på SceneController-objektet i scenhierarkin och väljer det.

    Screenshot of Unity with SceneController script component configuration fields shown in Inspector.

  2. Fältet Objektidentifieringshanterare i Komponenten SceneController är tomt. Dra ObjectDetectionManager från hierarkin till Komponenten SceneController och spara scenen.

    Screenshot of Unity with SceneController script component configured.

Ta och ladda upp bilder

  1. Kör scenen och välj Ange objekt. Ange namnet på ett av de spårade objekt som du skapade i föregående lektion. Välj knappen Visuellt innehåll längst ned på objektkortet.

  2. Ett nytt fönster öppnas. Du tar sex foton för att träna modellen för bildigenkänning. Välj knappen Kamera och utför en AirTap och se det objekt som du vill spåra. Gör det här sex gånger.

    Dricks

    För att förbättra modellträningen kan du försöka ta varje bild från olika vinklar och ljusförhållanden.

  3. När du har tillräckligt med bilder väljer du knappen Träna för att starta modellträningsprocessen i molnet. Detta laddar upp alla bilder och startar träningen. Processen kan ta några minuter. Ett meddelande i menyn anger den aktuella förloppet. När processen är klar kan du stoppa programmet.

    Dricks

    ObjectDetectionManager (skript) laddar direkt upp tagna bilder till Custom Vision-tjänsten. Alternativt accepterar Custom Vision-API:et URL:er till bilderna. Som en övning kan du ändra ObjectDetectionManager (skript) för att ladda upp bilderna till en Blob Storage i stället.

Varning

Om träningen misslyckas kontrollerar du din Custom Vision-instrumentpanel och ser till att du har minst två taggar och att varje tagg har minst fem bilder.

Upptäcka objekt

Nu kan du testa den tränade modellen. Kör programmet. På huvudmenyn väljer du Sökobjekt och anger namnet på det spårade objektet i fråga. Objektkortet visas. Välj sedan custom vision-knappen . *ObjectDetectionManager börjar ta bilder i bakgrunden från kameran. Menyn visar programmets förlopp. Rikta kameran mot det objekt som du använde för att träna modellen. Snart bör objektet identifieras.