Azure Percept Vision AI-modul

Azuremodule är namnet på gränsmodulen som ansvarar för att köra AI Vision-arbetsbelastningen på Azure Percept DK. Det är en del av Azure IoT-paketet med gränsmoduler och distribueras till Azure Percept DK under installationen. Den här artikeln innehåller en översikt över modulen och dess arkitektur.

Arkitektur

Diagram som visar arkitekturen för azuremodule.

Den Azure Percept Workload på Azure Percept DK är ett C++-program som körs i dockercontainern azuremodule. Den använder OpenCV GAPI för bildbearbetning och modellkörning. Azuremodule körs på operativsystemet Modularr som en del av Azure IoT-sviten med moduler som körs på Azure Percept DK.

Den Azure Percept Workload är avsedd att ta in bilder och mata ut bilder och meddelanden. Utdatabilderna kan markeras med ritningar, till exempel avgränsade rutor, segmenteringsmasker, beskydd, etiketter och så vidare. Utdatameddelandena är en JSON-ström med härledningsresultat som kan matas in och användas av underordnade aktiviteter. Resultatet visas som en RTSP-ström som är tillgänglig på port 8554 på enheten. Resultaten levereras också till en annan modul som körs på enheten, som betjänar RTSP-strömmen som är omsluten i en HTTP-server som körs på port 3000. Oavsett vilket kan de endast visas i det lokala nätverket.

Varning

Det finns ingen kryptering eller autentisering med avseende på RTSP-flöden. Alla i det lokala nätverket kan se exakt vad Azure Percept Vision ser genom att skriva in rätt adress i en webbläsare eller RTSP-mediespelare.

I Azure Percept Workload finns flera funktioner som slutanvändarna kan dra nytta av:

  • En lösning utan kod för vanliga användningsfall för datorseende, till exempel objektklassificering och vanlig objektidentifiering.
  • En avancerad lösning där en utvecklare kan ta med sin egen (eventuellt överlappade) tränade modell till enheten och köra den, och eventuellt skicka resultat till en annan IoT-modul som körs på enheten.
  • En omträningsloop för att regelbundet ta bilder från enheten, träna om modellen i molnet och sedan skicka tillbaka den nytränade modellen till enheten. Använda enhetens möjlighet att uppdatera och växla modeller i farten.

Information om AI-arbetsbelastningar

Arbetsbelastningsprogrammet har öppen källkod i github-Azure Percept Advanced Development och består av många små C++-moduler, där några av de viktigaste är:

  • main.cpp:Uppsättningar upp allt och kör sedan huvudloopen.
  • iot:Den här mappen innehåller moduler som hanterar inkommande och utgående meddelanden från Azure IoT Edge Hub och metoden för tvillinguppdatering.
  • modell:Den här mappen innehåller moduler för en klasshierarki med modeller för datorseende.
  • kernels: Den här mappen innehåller moduler för G-API-kernels, ops och C++-wrapperfunktioner.

Utvecklare kan skapa anpassade moduler eller anpassa den aktuella azuremodule med hjälp av det här arbetsbelastningsprogrammet.

Nästa steg

  • Nu när du vet mer om azuremodule och Azure Percept Workload kan du prova att använda din egen modell eller pipeline genom att följa någon av dessa självstudier
  • Eller prova att överföra inlärning med någon av våra färdiga notebook-filer för maskininlärning