Video-inhoud analyseren met Computer Vision en Azure Machine Learning

Azure Machine Learning
Azure AI services
Azure Logic Apps
Azure Synapse Analytics
Azure Data Lake Storage

In dit artikel wordt een architectuur beschreven die u kunt gebruiken om de handmatige analyse van videobeelden te vervangen door een geautomatiseerd en vaak nauwkeuriger machine learning-proces.

De logo's FFmpeg en Jupyter Notebook zijn handelsmerken van hun respectieve bedrijven. Er wordt geen goedkeuring geïmpliceerd door het gebruik van deze markeringen.

Architectuur

Diagram met een architectuur voor het analyseren van video-inhoud.

Download een PowerPoint-bestand van deze architectuur.

Workflow

  1. Een verzameling videobeelden, in MP4-indeling, wordt geüpload naar Azure Blob Storage. Idealiter gaan de video's naar een 'onbewerkte' container.
  2. Een vooraf geconfigureerde pijplijn in Azure Machine Learning herkent dat videobestanden worden geüpload naar de container en initieert een deductiecluster om te beginnen met het scheiden van de videobeelden in frames.
  3. FFmpeg, een opensource-hulpprogramma, breekt de video op en extraheert frames. U kunt configureren hoeveel frames per seconde worden geëxtraheerd, de kwaliteit van de extractie en de indeling van het afbeeldingsbestand. De indeling kan JPG of PNG zijn.
  4. Het deductiecluster verzendt de installatiekopieën naar Azure Data Lake Storage.
  5. Een vooraf geconfigureerde logische app die Data Lake Storage bewaakt, detecteert dat nieuwe installatiekopieën worden geüpload. Er wordt een werkstroom gestart.
  6. De logische app roept een vooraf getraind Custom Vision-model aan om objecten, functies of kwaliteiten in de afbeeldingen te identificeren. U kunt ook een computer vision-model (optische tekenherkenning) aanroepen om tekstuele informatie in de afbeeldingen te identificeren.
  7. Resultaten worden ontvangen in JSON-indeling. De logische app parseert de resultaten en maakt sleutel-waardeparen. U kunt de resultaten opslaan in toegewezen Azure SQL-pools die zijn ingericht door Azure Synapse Analytics.
  8. Power BI biedt gegevensvisualisatie.

Onderdelen

  • Azure Blob Storage biedt objectopslag voor cloudworkloads en machine learning-archieven. In deze architectuur worden de geüploade videobestanden opgeslagen.
  • Azure Machine Learning is een machine learning-service op bedrijfsniveau voor de end-to-end levenscyclus van machine learning.
  • Azure Data Lake Storage biedt zeer schaalbare, verbeterde beveiliging, rendabele cloudopslag voor hoogwaardige analyseworkloads.
  • Computer Vision maakt deel uit van Azure AI-services. Het wordt gebruikt om informatie over elke afbeelding op te halen.
  • Met Custom Vision kunt u geavanceerde computer vision-afbeeldingsanalyses voor uw specifieke domeinen aanpassen en insluiten.
  • Azure Logic Apps automatiseert werkstromen door apps en gegevens te verbinden tussen omgevingen. Het biedt een manier om in realtime toegang te krijgen tot en gegevens te verwerken.
  • Azure Synapse Analytics is een onbeperkte analyseservice die gegevensintegratie, zakelijke datawarehousing en big data-analyses combineert.
  • Toegewezen SQL-pool (voorheen SQL DW) is een verzameling analysebronnen die worden ingericht wanneer u Azure Synapse SQL gebruikt.
  • Power BI is een verzameling softwareservices, apps en connectors die samenwerken om visualisaties van uw gegevens te bieden.

Alternatieven

  • Azure Video Indexer is een videoanalyseservice die AI gebruikt om bruikbare inzichten uit opgeslagen video's te extraheren. U kunt het gebruiken zonder enige expertise in machine learning.
  • Azure Data Factory is een volledig beheerde serverloze gegevensintegratieservice waarmee u ETL-processen (extract, transform, and load) kunt maken en ELT-processen (ELT) kunt extraheren, transformeren en laden.
  • Azure Functions is een serverloos Platform as a Service (PaaS) dat code met één taak uitvoert zonder dat er een nieuwe infrastructuur nodig is.
  • Azure Cosmos DB is een volledig beheerde NoSQL-database voor het ontwikkelen van moderne apps.

Scenariodetails

Veel branches nemen videobeelden op om de aanwezigheid of afwezigheid van een bepaald object of bepaalde entiteit te detecteren of om objecten of entiteiten te classificeren. Videobewaking en analyses worden traditioneel handmatig uitgevoerd. Deze processen zijn vaak monotonisch en gevoelig voor fouten, met name voor taken die moeilijk zijn voor het menselijk oog. U kunt deze processen automatiseren met behulp van AI en machine learning.

Een video-opname kan worden gescheiden in afzonderlijke frames, zodat verschillende technologieën de afbeeldingen kunnen analyseren. Een dergelijke technologie is computer vision: de mogelijkheid van een computer om objecten en entiteiten op een afbeelding te identificeren.

Met Computer Vision worden bewakingsvideobeelden geautomatiseerd, gestandaardiseerd en mogelijk nauwkeuriger. Een Computer Vision-model kan worden getraind en, afhankelijk van de use-case, kunt u vaak resultaten krijgen die minstens zo goed zijn als die van de persoon die het model heeft getraind. Door Machine Learning Operations (MLOps) te gebruiken om het model continu te verbeteren, kunt u betere resultaten in de loop van de tijd verwachten en reageren op wijzigingen in de videogegevens.

Potentiële gebruikscases

Dit scenario is relevant voor bedrijven die video's analyseren. Hier volgen enkele voorbeelden van gebruiksvoorbeelden:

  • Landbouw. Bewaak en analyseer gewassen en bodemomstandigheden in de loop van de tijd. Door drones of UAV's te gebruiken, kunnen boeren videobeelden opnemen voor analyse.

  • Milieuwetenschappen. Analyseer watersoorten om te begrijpen waar ze zich bevinden en hoe ze zich ontwikkelen. Door onderwatercamera's aan boten te koppelen, kunnen milieuonderzoekers door de kustlijn navigeren om videobeelden op te nemen. Ze kunnen de videobeelden analyseren om inzicht te hebben in migraties van soorten en hoe de populaties van soorten in de loop van de tijd veranderen.

  • Verkeersbeheer. Classificeer voertuigen in categorieën (SUV, auto, vrachtwagen, motorfiets) en gebruik de informatie om verkeerscontrole te plannen. Videobeelden kunnen worden geleverd door CCTV op openbare locaties. De meeste CCTV-camera's registreren datum en tijd, die eenvoudig kunnen worden opgehaald via optische tekenherkenning (OCR).

  • Kwaliteitsborging. De kwaliteitscontrole in een productiefaciliteit bewaken en analyseren. Door camera's op de productielijn te installeren, kunt u een Computer Vision-model trainen om afwijkingen te detecteren.

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd, een set richtlijnen die u kunt gebruiken om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Betrouwbaarheid

Betrouwbaarheid zorgt ervoor dat uw toepassing kan voldoen aan de toezeggingen die u aan uw klanten hebt gedaan. Zie Overzicht van de betrouwbaarheidspijler voor meer informatie.

Een betrouwbare workload is een workload die zowel tolerant als beschikbaar is. Tolerantie is de mogelijkheid van het systeem om te herstellen van fouten en te blijven functioneren. Het doel van flexibiliteit is ervoor te zorgen dat de toepassing na een storing weer volledig functioneert. Beschikbaarheid is een meting of uw gebruikers toegang hebben tot uw workload wanneer dat nodig is.

Zie de volgende resources voor de beschikbaarheidsgaranties van de Azure-services in deze oplossing:

Beveiliging

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

Houd rekening met de volgende resources:

Kostenoptimalisatie

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

Hier volgen enkele richtlijnen voor het optimaliseren van kosten:

  • Gebruik de strategie voor betalen per gebruik voor uw architectuur en schaal zo nodig uit in plaats van te investeren in grootschalige resources aan het begin.
  • Overweeg verkoopkanskosten in uw architectuur en het evenwicht tussen het voordeel van de eerste mover en snelle stappen. Gebruik de prijscalculator om de initiële kosten en operationele kosten te schatten.
  • Stel beleidsregels, budgetten en controles in waarmee kostenlimieten voor uw oplossing worden ingesteld.

Operationele uitmuntendheid

Operationele uitmuntendheid omvat de operationele processen die een toepassing implementeren en deze in productie houden. Zie Overzicht van de operationele uitmuntendheidpijler voor meer informatie.

Implementaties moeten betrouwbaar en voorspelbaar zijn. Hier volgen enkele richtlijnen:

  • Automatiseer implementaties om de kans op menselijke fouten te verminderen.
  • Implementeer een snel, routine-implementatieproces om te voorkomen dat de release van nieuwe functies en oplossingen voor fouten wordt vertraagd.
  • Snel terugdraaien of vooruitdraaien als een update problemen veroorzaakt.

Prestatie-efficiëntie

Prestatie-efficiëntie is de mogelijkheid om op efficiënte wijze uw werkbelasting te schalen om te voldoen aan de vereisten die gebruikers eraan stellen. Zie overzicht van de pijler Prestatie-efficiëntie voor meer informatie.

Geschikt gebruik van schalen en de implementatie van PaaS-aanbiedingen die ingebouwde schaalaanpassing hebben, zijn de belangrijkste manieren om prestatie-efficiëntie te bereiken.

Medewerkers

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

Hoofdauteur:

Andere Inzenders:

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen