Mönster för fotfallsidentifiering

Det här mönstret ger en översikt över hur du implementerar en AI-baserad lösning för identifiering av fotfall för analys av besökstrafik i butiker. Lösningen genererar insikter från verkliga åtgärder med hjälp av Azure, Azure Stack Hub och Custom Vision AI Dev Kit.

Kontext och problem

Contoso Stores vill få insikter om hur kunderna får sina aktuella produkter i förhållande till butikslayouten. De kan inte placera personal i varje avsnitt och det är ineffektivt att låta ett team av analytiker granska en hel butiks kamerabilder. Dessutom har ingen av deras butiker tillräckligt med bandbredd för att strömma video från alla sina kameror till molnet för analys.

Contoso vill hitta ett diskret och integritetsvänligt sätt att fastställa kundernas demografi, lojalitet och reaktioner när det gäller att lagra skärmar och produkter.

Lösning

Det här detaljhandelsanalysmönstret använder en nivåindelad metod för slutsatsdragning vid gränsen. Med hjälp av Custom Vision AI Dev Kit skickas endast bilder med mänskliga ansikten för analys till en privat Azure Stack Hub som kör Azure Cognitive Services. Anonymiserade, aggregerade data skickas till Azure för aggregering i alla lager och visualiseringar i Power BI. Genom att kombinera gränsenheten och det offentliga molnet kan Contoso dra nytta av modern AI-teknik samtidigt som de följer företagets principer och respekterar sina kunders sekretess.

Footfall detection pattern solution

Här är en sammanfattning av hur lösningen fungerar:

  1. Custom Vision AI Dev Kit får en konfiguration från IoT Hub som installerar IoT Edge Runtime och en ML modell.
  2. Om modellen ser en person tar den en bild och laddar upp den till Azure Stack Hub Blob Storage.
  3. Blob-tjänsten utlöser en Azure-funktion på Azure Stack Hub.
  4. Azure-funktionen anropar en container med ansikts-API:et för att hämta demografiska data och känslodata från bilden.
  5. Data anonymiseras och skickas till ett Azure Event Hubs kluster.
  6. Event Hubs-klustret skickar data till Stream Analytics.
  7. Stream Analytics aggregerar data och push-överför dem till Power BI.

Komponenter

Den här lösningen använder följande komponenter:

Skikt Komponent Beskrivning
Maskinvara i butiken Custom Vision AI Dev Kit Tillhandahåller filtrering i butiken med hjälp av en lokal ML modell som endast samlar in bilder av personer för analys. Etableras och uppdateras på ett säkert sätt via IoT Hub.

Azure Azure Event Hubs Azure Event Hubs är en skalbar plattform för inmatning av anonymiserade data som integreras snyggt med Azure Stream Analytics.
Azure Stream Analytics Ett Azure Stream Analytics-jobb aggregerar anonymiserade data och grupperar dem i 15-sekundersfönster för visualisering.
Microsoft Power BI Power BI tillhandahåller ett lätthanterad instrumentpanelsgränssnitt för att visa utdata från Azure Stream Analytics.
Azure Stack Hub App Service Den App Service resursprovidern (RP) tillhandahåller en bas för gränskomponenter, inklusive värd- och hanteringsfunktioner för webbappar/API:er och funktioner.
aks-motorkluster (Azure Kubernetes Service) AKS RP med AKS-Engine kluster som distribuerats till Azure Stack Hub ger en skalbar, motståndskraftig motor för att köra Ansikts-API-containern.
Ansikts-API-containrar för Azure Cognitive Services Azure Cognitive Services RP med Ansikts-API-containrar ger demografisk, känslo- och unik identifiering av besökare i Contosos privata nätverk.
Blob Storage Bilder som hämtats från AI Dev Kit laddas upp till Blob Storage i Azure Stack Hub.
Azure Functions En Azure-funktion som körs på Azure Stack Hub tar emot indata från Blob Storage och hanterar interaktionerna med ansikts-API:et. Den genererar anonymiserade data till ett Event Hubs-kluster som finns i Azure.

Problem och överväganden

Tänk på följande när du bestämmer hur du ska implementera den här lösningen:

Skalbarhet

För att den här lösningen ska kunna skalas över flera kameror och platser måste du se till att alla komponenter kan hantera den ökade belastningen. Du kan behöva vidta åtgärder som:

  • Öka antalet Stream Analytics-strömningsenheter.
  • Skala ut distributionen av ansikts-API:et.
  • Öka dataflödet för Event Hubs-klustret.
  • I extrema fall kan det vara nödvändigt att migrera från Azure Functions till en virtuell dator.

Tillgänglighet

Eftersom den här lösningen är nivåindelad är det viktigt att tänka på hur du hanterar nätverks- eller strömavbrott. Beroende på affärsbehov kanske du vill implementera en mekanism för att cachelagrat avbildningar lokalt och sedan vidarebefordra till Azure Stack Hub när anslutningen returneras. Om platsen är tillräckligt stor kan det vara ett bättre alternativ att distribuera en Data Box Edge med ansikts-API-containern till den platsen.

Hanterbarhet

Den här lösningen kan sträcka sig över många enheter och platser, vilket kan bli svårhanterlig. Azures IoT-tjänster kan användas för att automatiskt ta nya platser och enheter online och hålla dem uppdaterade.

Säkerhet

Den här lösningen samlar in kundbilder, vilket gör säkerheten till ett viktigt övervägande. Kontrollera att alla lagringskonton skyddas med rätt åtkomstprinciper och rotera nycklar regelbundet. Se till att lagringskonton och eventhubbar har kvarhållningsprinciper som uppfyller företagets och myndigheters sekretessregler. Se också till att nivåindela användaråtkomstnivåerna. Nivåindelning säkerställer att användarna bara har åtkomst till de data de behöver för sin roll.

Nästa steg

Mer information om ämnena som beskrivs i den här artikeln:

När du är redo att testa lösningsexemplet fortsätter du med distributionsguiden för footfallidentifiering. Distributionsguiden innehåller stegvisa instruktioner för att distribuera och testa dess komponenter.