Bearbeiten

Freigeben über


Analysieren von Videoinhalten mit maschinellem Sehen und Azure Machine Learning

Azure Machine Learning
Azure KI Services
Azure Logic Apps
Azure Synapse Analytics
Azure Data Lake Storage

In diesem Artikel wird eine Architektur beschrieben, die Sie verwenden können, um die manuelle Analyse von Videomaterial durch einen automatisierten (und häufig genaueren) Machine Learning-Prozess zu ersetzen.

Die Logos von FFmpeg und Jupyter Notebook sind Marken ihrer jeweiligen Unternehmen. Die Verwendung dieser Marken impliziert keine Empfehlung.

Aufbau

Diagramm: Architektur für die Analyse von Videoinhalten

Laden Sie eine PowerPoint-Datei zu dieser Architektur herunter.

Workflow

  1. Eine Sammlung von Videomaterial im MP4-Format wird in Azure Blob Storage hochgeladen. Im Idealfall werden die Videos in einem Container mit Rohdaten platziert.
  2. Eine vorkonfigurierte Pipeline in Azure Machine Learning erkennt, dass Videodateien in den Container hochgeladen werden, und initiiert einen Rückschlusscluster, um damit zu beginnen, das Videomaterial in Frames zu unterteilen.
  3. Das Open-Source-Tool FFmpeg spaltet das Video auf und extrahiert Frames. Sie können die Anzahl der zu extrahierenden Frames pro Sekunde sowie die Qualität der Extraktion und das Format der Bilddatei konfigurieren. Das Format kann JPG oder PNG sein.
  4. Der Rückschlusscluster sendet die Bilder an Azure Data Lake Storage.
  5. Eine vorkonfigurierte Logik-App, die Data Lake Storage überwacht, erkennt, dass neue Bilder hochgeladen werden. Daraufhin startet sie einen Workflow.
  6. Die Logik-App ruft ein vorab trainiertes Custom Vision-Modell auf, um Objekte, Features oder Qualitäten in den Bildern zu identifizieren. Alternativ oder zusätzlich wird ein Modell für maschinelles Sehen (optische Zeichenerkennung, OCR) aufgerufen, um Textinformationen in den Bildern zu identifizieren.
  7. Die Ergebnisse werden im JSON-Format empfangen. Die Logik-App analysiert die Ergebnisse und erstellt Schlüssel-Wert-Paare. Sie können die Ergebnisse in dedizierten Azure SQL-Pools speichern, die von Azure Synapse Analytics bereitgestellt werden.
  8. Power BI bietet Datenvisualisierung.

Komponenten

  • Azure Blob Storage bietet Objektspeicher für cloudnative Workloads und Machine Learning-Speicher. In dieser Architektur werden damit die hochgeladenen Videodateien gespeichert.
  • Azure Machine Learning ist ein professioneller Machine Learning-Dienst für den End-to-End-ML-Lebenszyklus.
  • Azure Data Lake Storage bietet hochgradig skalierbaren und kostengünstigen Cloudspeicher mit erhöhter Sicherheit für Hochleistungs-Analyseworkloads.
  • Maschinelles Sehen ist Teil von Azure KI Services. Es wird verwendet, um Informationen zu den einzelnen Bildern abzurufen.
  • Mit Custom Vision können Sie hochmoderne Bildanalysen mit maschinellem Sehen für Ihre spezifischen Domänen anpassen und einbetten.
  • Azure Logic Apps vernetzt Apps und Daten umgebungsübergreifend und automatisiert auf diese Weise Workflows. Der Dienst ermöglicht Datenzugriff und -verarbeitung in Echtzeit.
  • Azure Synapse Analytics ist ein unbegrenzter Analysedienst, der Datenintegration, Data Warehousing für Unternehmen und Big Data-Analysen vereint.
  • Ein dedizierter SQL-Pool (vormals SQL DW) ist eine Sammlung von Analyseressourcen, die bei Verwendung von Azure Synapse SQL bereitgestellt werden.
  • Power BI ist eine Sammlung von Softwarediensten, Apps und Connectors, die zusammenarbeiten, um Ihre Daten zu visualisieren.

Alternativen

  • Azure Video Indexer ist ein Videoanalysedienst, der mithilfe von KI verwertbare Erkenntnisse aus gespeicherten Videos extrahiert. Für die Verwendung sind keinerlei ML-Kenntnisse erforderlich.
  • Azure Data Factory ist ein vollständig verwalteter serverloser Datenintegrationsdienst, mit dem Sie ETL-Prozesse (Extrahieren, Transformieren und Laden) sowie ELT-Prozesse (Extrahieren, Laden und Transformieren) erstellen können.
  • Azure Functions ist eine serverlose PaaS-Lösung (Platform-as-a-Service), mit der Code für Einzelaufgaben ausgeführt werden kann, ohne dass dafür eine neue Infrastruktur benötigt wird.
  • Azure Cosmos DB ist eine vollständig verwaltete NoSQL-Datenbank für die moderne App-Entwicklung.

Szenariodetails

In vielen Branchen wird Videomaterial aufgezeichnet, um das Vorhandensein oder Fehlen eines bestimmten Objekts oder einer bestimmten Entität zu erkennen oder um Objekte oder Entitäten zu klassifizieren. Videoüberwachung und -analysen werden traditionell manuell durchgeführt. Diese Prozesse sind häufig monoton und fehleranfällig – insbesondere bei Aufgaben, die für das menschliche Auge schwierig sind. Diese Prozesse können mithilfe von KI und maschinellem Lernen automatisiert werden.

Eine Videoaufzeichnung kann in einzelne Frames unterteilt werden, damit verschiedene Technologien die Bilder analysieren können. Eine solche Technologie ist maschinelles Sehen – also die Fähigkeit eines Computers, Objekte und Entitäten auf einem Bild zu identifizieren.

Mit maschinellem Sehen wird die Überwachung von Videomaterial automatisiert, standardisiert und potenziell genauer. Ein Modell für maschinelles Sehen kann trainiert werden, und je nach Anwendungsfall erhalten Sie oftmals Ergebnisse, die mindestens so gut sind wie die der Person, die das Modell trainiert hat. Durch die Verwendung von Machine Learning Operations (MLOps) zur kontinuierlichen Verbesserung des Modells können Sie im Laufe der Zeit bessere Ergebnisse erzielen und auf Veränderungen in den Videodaten reagieren.

Mögliche Anwendungsfälle

Dieses Szenario ist für alle Unternehmen relevant, die Videos analysieren. Hier finden Sie einige mögliche Anwendungsfälle:

  • Landwirtschaft: Überwachen und Analysieren von Nutzpflanzen und Bodenbedingungen im Laufe der Zeit. Mithilfe von Drohnen oder unbemannten Fluggeräten können Landwirte Videomaterial für die Analyse aufzeichnen.

  • Umweltwissenschaften: Analysieren von Wasserlebewesen, um zu verstehen, wo sie sich befinden und wie sie sich entwickeln. Umweltforscher können Boote mit Unterwasserkameras ausstatten und Videoaufnahmen entlang der Küste machen. Anschließend können sie das Videomaterial analysieren, um Migrationsbewegungen nachzuvollziehen und zu untersuchen, wie sich Populationen im Laufe der Zeit verändern.

  • Verkehrssteuerung: Klassifizieren von Fahrzeugen in Kategorien (SUV, Pkw, Lkw, Motorrad) und Planen der Verkehrssteuerung auf der Grundlage dieser Informationen. Videomaterial kann von Überwachungskameras an öffentlichen Orten bereitgestellt werden. Die meisten Überwachungskameras erfassen Datum und Uhrzeit, was sich ganz einfach mittels optischer Zeichenerkennung (Optical Character Recognition, OCR) abrufen lässt.

  • Qualitätssicherung: Überwachen und Analysieren der Qualität in einer Produktionsstätte. Durch die Installation von Kameras an der Produktionslinie können Sie ein Modell für maschinelles Sehen trainieren, um Anomalien zu erkennen.

Überlegungen

Diese Überlegungen setzen die Säulen des Azure Well-Architected Framework um, das aus einer Reihe von Leitprinzipien besteht, die zur Verbesserung der Qualität einer Workload verwendet werden können. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Zuverlässigkeit.

Eine zuverlässige Workload muss robust und verfügbar sein. Resilienz ist die Fähigkeit des Systems, nach Systemausfällen eine Wiederherstellung auszuführen und die Funktionsfähigkeit sicherzustellen. Das Ziel der Resilienz besteht darin, nach einem Ausfall wieder die volle Funktionsfähigkeit einer Anwendung herzustellen. Verfügbarkeit ist ein Maßstab dafür, ob Ihre Benutzer bei Bedarf jederzeit auf Ihre Workload Zugriff haben.

Informationen zu den Verfügbarkeitsgarantien der Azure-Dienste in dieser Lösung finden Sie in den folgenden Ressourcen:

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Sicherheit.

Sehen Sie sich bei Bedarf folgende Ressourcen an:

Kostenoptimierung

Bei der Kostenoptimierung geht es darum, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Kostenoptimierung.

Hier finden Sie einige Richtlinien für die Kostenoptimierung:

  • Nutzen Sie für Ihre Architektur die Strategie mit nutzungsbasierter Bezahlung, und skalieren Sie nach Bedarf auf, anstatt bereits zu Beginn in umfangreiche Ressourcen zu investieren.
  • Berücksichtigen Sie Opportunitätskosten Ihrer Architektur, und wägen Sie die Vor- und Nachteile ab, die eine Position als Vorreiter oder Nachahmer mit sich bringt. Nutzen Sie den Preisrechner, um die Vor- und Betriebskosten zu schätzen.
  • Richten Sie Richtlinien, Budgets und Kontrollen ein, um die Kosten für Ihre Lösung zu begrenzen.

Optimaler Betrieb

„Optimaler Betrieb“ deckt die Betriebsprozesse ab, die für die Bereitstellung einer Anwendung und deren Ausführung in der Produktion sorgen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung des optimalen Betriebs.

Bereitstellungen müssen zuverlässig und planbar sein. Hier finden Sie einige Richtlinien:

  • Automatisieren Sie Bereitstellungen, um die Wahrscheinlichkeit menschlicher Fehler zu reduzieren.
  • Implementieren Sie einen schnellen, routinemäßigen Bereitstellungsprozess, um Verzögerungen bei der Veröffentlichung neuer Features und Fehlerbehebungen zu vermeiden.
  • Führen Sie schnell ein Rollback oder Rollforward aus, wenn ein Update zu Problemen führt.

Effiziente Leistung

Die Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Leistungseffizienz.

Eine angemessene Nutzung der Skalierung und die Implementierung von PaaS-Angeboten mit integrierter Skalierung sind die wichtigsten Methoden, um Leistungseffizienz zu erreichen.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte