Bewerken

Delen via


End-to-end computer vision aan de rand voor productie

Azure Data Factory
Azure IoT Edge
Azure IoT Hub
Azure Machine Learning
Azure Pipelines

In deze voorbeeldarchitectuur ziet u een end-to-end benadering van Computer Vision (Internet of Things) in productie.

Architectuur

Diagram van de end-to-end-benadering van computer vision vanaf de rand naar de cloud en terug.

Een Visio-bestand van deze architectuur downloaden.

Gegevensstroom

  1. De aangepaste IoT Edge-module legt de live videostream vast, breekt deze op in frames en voert deductie uit op de afbeeldingsgegevens om te bepalen of er een incident is opgetreden.
  2. De aangepaste module maakt ook gebruik van Azure Storage SDK-methoden of blob-API om de onbewerkte videobestanden te uploaden naar Azure Storage, die fungeert als een onbewerkte mediaopslag.
  3. De aangepaste module verzendt de deductieresultaten en metagegevens naar Azure IoT Hub, die fungeert als een centrale berichtenhub voor communicatie in beide richtingen.
  4. Azure Logic Apps bewaakt IoT Hub voor berichten over incident gebeurtenissen. Logic Apps routeert deductieresultaten en metagegevens naar Microsoft Dataverse voor opslag.
  5. Wanneer er een incident optreedt, verzendt Logic Apps sms- en e-mailmeldingen naar de site-engineer. De site-engineer gebruikt een mobiele app op basis van Power Apps om het incident te bevestigen en op te lossen.
  6. Power Apps haalt deductieresultaten en metagegevens op uit Dataverse en onbewerkte videobestanden uit Blob Storage om relevante informatie over het incident weer te geven. Power Apps werkt Dataverse bij met de incidentoplossing die de site-engineer heeft verstrekt. Deze stap fungeert als human-in-the-loop-validatie voor het opnieuw trainen van modellen.
  7. Azure Data Factory is de gegevensorchestrator die onbewerkte videobestanden ophaalt uit het onbewerkte mediaarchief en de bijbehorende deductieresultaten en metagegevens van Dataverse ophaalt.
  8. Data Factory slaat de onbewerkte videobestanden, plus de metagegevens, op in Azure Data Lake, die fungeert als een videoarchief voor controledoeleinden.
  9. Data Factory breekt onbewerkte videobestanden in frames, converteert de deductieresultaten naar labels en uploadt de gegevens naar Blob Storage, die fungeert als het ML-gegevensarchief.
  10. Wijzigingen in de modelcode activeren automatisch de Orchestrator-pijplijn van het Azure Pipelines-model, die operators ook handmatig kunnen activeren. Codewijzigingen starten ook het ml-modeltrainings- en validatieproces in Azure Machine Learning.
  11. Azure Machine Learning begint met het trainen van het model door de gegevens uit het ML-gegevensarchief te valideren en de vereiste gegevenssets te kopiëren naar Azure Premium Blob Storage. Deze prestatielaag biedt een gegevenscache voor snellere modeltraining.
  12. Azure Machine Learning maakt gebruik van de gegevensset in de Premium-gegevenscache om het model te trainen, de prestaties van het getrainde model te valideren, deze te beoordelen op basis van het zojuist getrainde model en het model te registreren in het Azure Machine Learning-register.
  13. De Orchestrator van het Azure Pipelines-model controleert de prestaties van het nieuw getrainde ML-model en bepaalt of het beter is dan eerdere modellen. Als het nieuwe model beter presteert, downloadt de pijplijn het model van Azure Machine Learning en bouwt een nieuwe versie van de ML-deductiemodule om te publiceren in Azure Container Registry.
  14. Wanneer een nieuwe ML-deductiemodule gereed is, implementeert Azure Pipelines de modulecontainer van Container Registry naar de IoT Edge-module in IoT Hub.
  15. IoT Hub werkt het IoT Edge-apparaat bij met de nieuwe ML-deductiemodule.

Onderdelen

  • De Azure IoT Edge-service analyseert apparaatgegevens lokaal om minder gegevens naar de cloud te verzenden, snel te reageren op gebeurtenissen en te werken in omstandigheden met een lage connectiviteit. Een IoT Edge ML-module kan bruikbare inzichten extraheren uit streamingvideogegevens.
  • Azure IoT Hub is een beheerde service die betrouwbare en veilige bidirectionele communicatie mogelijk maakt tussen miljoenen IoT-apparaten en een back-end in de cloud. IoT Hub biedt verificatie per apparaat, berichtroutering, integratie met andere Azure-services en beheerfuncties voor het beheren en configureren van IoT-apparaten.
  • Azure Logic Apps is een serverloze cloudservice voor het maken en uitvoeren van geautomatiseerde werkstromen die apps, gegevens, services en systemen integreren. Ontwikkelaars kunnen een visuele ontwerper gebruiken om algemene taakwerkstromen te plannen en te organiseren. Logic Apps heeft connectors voor veel populaire cloudservices, on-premises producten en andere SaaS-toepassingen (Software as a Service). In deze oplossing voert Logic Apps de geautomatiseerde werkstroom voor meldingen uit waarmee sms- en e-mailwaarschuwingen worden verzonden naar sitetechnici.
  • Power Apps is een gegevensplatform en een suite met apps, services en connectors. Het fungeert als een snelle ontwikkelomgeving voor toepassingen. Het onderliggende gegevensplatform is Microsoft Dataverse.
  • Dataverse is een cloudopslagplatform voor Power Apps. Dataverse ondersteunt meldingen van mensen in de lus en slaat metagegevens op die zijn gekoppeld aan de MLOps-gegevenspijplijn.
  • Azure Blob Storage is schaalbare en veilige objectopslag voor ongestructureerde gegevens. U kunt deze gebruiken voor archieven, data lakes, high-performance computing, machine learning en cloud-native workloads. In deze oplossing biedt Blob Storage een lokaal gegevensarchief voor het ML-gegevensarchief en een Premium-gegevenscache voor het trainen van het ML-model. De Premium-laag van Blob Storage is bedoeld voor workloads waarvoor snelle reactietijden en hoge transactiesnelheden nodig zijn, zoals het labelen van video's voor mensen in de lus in dit voorbeeld.
  • Data Lake Storage is een zeer schaalbare en veilige opslagservice voor hoogwaardige analyseworkloads. De gegevens zijn doorgaans afkomstig van meerdere heterogene bronnen en kunnen gestructureerd, semigestructureerd of ongestructureerd zijn. Azure Data Lake Storage Gen2 combineert Azure Data Lake Storage Gen1-mogelijkheden met Blob Storage en biedt semantiek van het bestandssysteem, beveiliging op bestandsniveau en schaal. Het biedt ook de gelaagde opslag, hoge beschikbaarheid en mogelijkheden voor herstel na noodgevallen van Blob Storage. In deze oplossing biedt Data Lake Storage de archiveringsvideoopslag voor de onbewerkte videobestanden en metagegevens.
  • Azure Data Factory is een hybride, volledig beheerde, serverloze oplossing voor werkstromen voor gegevensintegratie en transformatie. Het biedt een gebruikersinterface zonder code en een eenvoudig te gebruiken bewakingspaneel. Azure Data Factory maakt gebruik van pijplijnen voor gegevensverplaatsing. Toewijzingsgegevensstromen voeren verschillende transformatietaken uit, zoals extraheren, transformeren en laden (ETL) en extraheren, laden en transformeren (ELT). In dit voorbeeld worden de gegevens in een ETL-pijplijn ingedeeld in de deductiegegevens, die worden opgeslagen voor hertrainingsdoeleinden.
  • Azure Machine Learning is een machine learning-service op bedrijfsniveau voor het snel bouwen en implementeren van modellen. Het biedt gebruikers op alle vaardigheidsniveaus een ontwerpfunctie met weinig code, geautomatiseerde machine learning en een gehoste Jupyter-notebookomgeving die ondersteuning biedt voor verschillende IDE's.
  • Azure Pipelines, onderdeel van op het team gebaseerde ontwikkelaarsservices van Azure DevOps , maakt pijplijnen voor continue integratie (CI) en continue implementatie (CD). In dit voorbeeld valideert de Orchestrator van het Azure Pipelines-model ML-code, activeert serverloze taakpijplijnen, vergelijkt ML-modellen en bouwt de deductiecontainer.
  • Container Registry maakt en beheert het Docker-register voor het bouwen, opslaan en beheren van Docker-containerinstallatiekopieën, inclusief ml-modellen in containers.
  • Azure Monitor verzamelt telemetrie van Azure-resources, zodat teams proactief problemen kunnen identificeren en de prestaties en betrouwbaarheid kunnen maximaliseren.

Alternatieven

In plaats van de gegevenspijplijn te gebruiken om de videostroom op te splitsen in afbeeldingsframes, kunt u een Azure Blob Storage-module implementeren op het IoT Edge-apparaat. De deductiemodule uploadt vervolgens de frames van de deductie naar de opslagmodule op het edge-apparaat. De opslagmodule bepaalt wanneer de frames rechtstreeks naar het ML-gegevensarchief moeten worden geüpload. Het voordeel van deze benadering is dat er een stap uit de gegevenspijplijn wordt verwijderd. Het nadeel is dat het edge-apparaat nauw is gekoppeld aan Azure Blob Storage.

Voor modelindeling kunt u Azure Pipelines of Azure Data Factory gebruiken.

  • Het voordeel van Azure Pipelines is de nauwe band met de ML-modelcode. U kunt de trainingspijplijn eenvoudig activeren met codewijzigingen via CI/CD.
  • Het voordeel van Data Factory is dat elke pijplijn de vereiste rekenresources kan inrichten. Data Factory houdt de Azure Pipelines-agents niet ingedrukt om ML-training uit te voeren, waardoor de normale CI/CD-stroom kan worden opgenomen.

Scenariodetails

Volledig geautomatiseerde slimme factory's maken gebruik van kunstmatige intelligentie (AI) en machine learning (ML) om gegevens te analyseren, systemen uit te voeren en processen in de loop van de tijd te verbeteren.

In dit voorbeeld verzenden camera's afbeeldingen naar een Azure IoT Edge-apparaat waarop een ML-model wordt uitgevoerd. Het model berekent deducties en verzendt uitvoer die kan worden uitgevoerd naar de cloud voor verdere verwerking. Menselijke interventies maken deel uit van de intelligentie die het ML-model vastlegt. Het ML-proces is een continue cyclus van training, testen, afstemmen en valideren van de ML-algoritmen.

Potentiële gebruikscases

Productieprocessen maken gebruik van IoT Computer Vision in veiligheids- en kwaliteitscontroletoepassingen. IoT Computer Vision-systemen kunnen:

  • Zorg ervoor dat naleving van productierichtlijnen, zoals het juiste labelen, wordt nageleefd.
  • Identificeer productiefouten zoals oppervlakte-oneffenheden.
  • Verbeter de beveiliging door het gebouw of de ingangen van het gebied te bewaken.
  • Handhaaf de veiligheid van werknemers door het gebruik van persoonlijke beschermingsmiddelen (PBM's) en andere veiligheidsprocedures te detecteren.

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Beschikbaarheid

Toepassingen op basis van ML vereisen doorgaans één set resources voor training en een andere voor het bedienen. Trainingsbronnen hebben over het algemeen geen hoge beschikbaarheid nodig, omdat live productieaanvragen deze resources niet rechtstreeks gebruiken. Resources die nodig zijn voor het verwerken van aanvragen, moeten hoge beschikbaarheid hebben.

Operations

Deze oplossing is onderverdeeld in drie operationele gebieden:

  • In IoT-bewerkingen maakt een ML-model op het edge-apparaat gebruik van realtime-afbeeldingen van verbonden camera's tot deductievideoframes. Het edge-apparaat verzendt ook videostreams in de cache naar cloudopslag om te gebruiken voor controle en het opnieuw trainen van modellen. Nadat ML opnieuw is getraind, werkt Azure IoT Hub het edge-apparaat bij met de nieuwe ML-deductiemodule.

  • MLOps maakt gebruik van DevOps-procedures voor het organiseren van modeltrainings-, test- en implementatiebewerkingen. MlOps-levenscyclusbeheer automatiseert het proces van het gebruik van ML-modellen voor complexe besluitvorming of het produceren van de modellen. De sleutel tot MLOps is een nauwe coördinatie tussen de teams die de ML-modellen bouwen, trainen, evalueren en implementeren.

  • Human-in-the-loop-bewerkingen stellen mensen op de hoogte om te reageren op bepaalde stappen in de automatisering. In transacties tussen mensen in de lus controleren en evalueren werknemers de resultaten van de machine learning-voorspellingen. Menselijke interventies worden onderdeel van de intelligentie die het ML-model vastlegt en helpen het model te valideren.

    De volgende menselijke rollen maken deel uit van deze oplossing:

    • Sitetechnici ontvangen de incidentmeldingen die Logic Apps verzendt en valideren de resultaten of voorspellingen van het ML-model handmatig. De sitetechnicus kan bijvoorbeeld een klep onderzoeken die door het voorspelde model is mislukt.

    • Gegevenslabels labelen gegevenssets voor opnieuw trainen om de lus van de end-to-end-oplossing te voltooien. Het proces voor het labelen van gegevens is vooral belangrijk voor afbeeldingsgegevens, als eerste stap bij het trainen van een betrouwbaar model via algoritmen. In dit voorbeeld ordent Azure Data Factory de videoframes in positieve en fout-positieve groeperingen, waardoor het werk van de gegevenslabeler eenvoudiger wordt.

    • Gegevenswetenschappers gebruiken de gelabelde gegevenssets om de algoritmen te trainen om correcte real-life voorspellingen te doen. Gegevenswetenschappers gebruiken MLOps met GitHub Actions of Azure Pipelines in een CI-proces om automatisch een model te trainen en te valideren. Training kan handmatig of automatisch worden geactiveerd door nieuwe trainingsscripts of -gegevens in te checken. Gegevenswetenschappers werken in een Azure Machine Learning-werkruimte die modellen automatisch kan registreren, implementeren en beheren.

    • IoT-technici gebruiken Azure Pipelines om IoT Edge-modules in containers te publiceren naar Container Registry. Technici kunnen de infrastructuur op aanvraag implementeren en schalen met behulp van een CD-pijplijn.

    • Veiligheidscontroleurs controleren gearchiveerde videostreams om afwijkingen te detecteren, naleving te beoordelen en resultaten te bevestigen wanneer er vragen over de voorspellingen van een model ontstaan.

    In deze oplossing neemt IoT Hub telemetrie van de camera's op en verzendt de metrische gegevens naar Azure Monitor, zodat sitetechnici problemen kunnen onderzoeken en oplossen. Azure Machine Learning verzendt metrische gegevens over waarneembaarheid en modeltelemetrie naar Azure Monitor, zodat de IoT-technici en gegevenswetenschappers bewerkingen kunnen optimaliseren.

Prestaties

IoT-apparaten hebben beperkte geheugen- en verwerkingskracht, dus het is belangrijk om de grootte van de modelcontainer te beperken die naar het apparaat wordt verzonden. Zorg ervoor dat u een IoT-apparaat gebruikt dat modeldeductie kan uitvoeren en resultaten kan produceren in een acceptabele hoeveelheid tijd.

Voor het optimaliseren van prestaties voor trainingsmodellen gebruikt deze voorbeeldarchitectuur Azure Premium Blob Storage. Deze prestatielaag is ontworpen voor workloads die snelle reactietijden en hoge transactiesnelheden vereisen, zoals het scenario voor videolabels voor mensen in de lus.

Prestatieoverwegingen zijn ook van toepassing op de pijplijn voor gegevensopname. Data Factory maximaliseert gegevensverplaatsing door een zeer krachtige, rendabele oplossing te bieden.

Schaalbaarheid

De meeste onderdelen die in deze oplossing worden gebruikt, zijn beheerde services die automatisch worden geschaald.

Schaalbaarheid voor de IoT-toepassing is afhankelijk van ioT Hub-quota en beperking. Factoren om rekening mee te houden zijn:

  • Het maximale dagelijkse quotum van berichten naar IoT Hub.
  • Het quotum van verbonden apparaten in een IoT Hub-instantie.
  • Opname- en verwerkingsdoorvoer.

In ML verwijst schaalbaarheid naar uitschaalclusters die worden gebruikt om modellen te trainen op basis van grote gegevenssets. Dankzij schaalbaarheid kan het ML-model ook voldoen aan de vereisten van de toepassingen die het gebruiken. Om aan deze behoeften te voldoen, moet het ML-cluster uitschalen op CPU's en op GPU-knooppunten (Graphics Processing Unit) bieden.

Zie de controlelijst voor prestatie-efficiëntie in het Azure Architecture Center voor algemene richtlijnen voor het ontwerpen van schaalbare oplossingen.

Beveiliging

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie Overzicht van de beveiligingspijler voor meer informatie.

Toegangsbeheer in Dataverse en andere Azure-services helpt ervoor te zorgen dat alleen geautoriseerde gebruikers toegang hebben tot de omgeving, gegevens en rapporten. Deze oplossing maakt gebruik van Azure Key Vault voor het beheren van wachtwoorden en geheimen. Opslag wordt versleuteld met door de klant beheerde sleutels.

Zie de Documentatie voor Azure Security en de Referentiearchitectuur voor Azure IoT voor algemene richtlijnen voor het ontwerpen van beveiligde IoT-oplossingen.

Kostenoptimalisatie

Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie Overzicht van de pijler kostenoptimalisatie voor meer informatie.

Gebruik in ieder geval de prijscalculator om een schatting van de kosten te maken. Zie Kostenoptimalisatie voor andere overwegingen.

Azure Machine Learning implementeert ook Container Registry-, Azure Storage- en Azure Key Vault-services, waarvoor extra kosten in rekening worden gebracht. Zie Hoe Azure Machine Learning werkt voor meer informatie : Architectuur en concepten.

Azure Machine Learning-prijzen omvatten kosten voor de virtuele machines (VM's) die worden gebruikt om het model in de cloud te trainen. Zie Producten die beschikbaar zijn per regio voor informatie over de beschikbaarheid van Azure Machine Learning en VM's per Azure-regio.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Hoofdauteur:

Volgende stappen