Bearbeiten

Freigeben über


Videoerfassung und Objekterkennung am Edge und in der Cloud

Azure Stack Edge
Azure Kubernetes Service (AKS)
Azure SQL Edge
Azure Container Registry

In diesem Artikel wird beschrieben, wie Sie einen mobilen Roboter mit einer Livestreamingkamera verwenden, um verschiedene Anwendungsfälle zu implementieren. Die Lösung implementiert ein System, das lokal in Azure Stack Edge ausgeführt wird, um den Videodatenstrom und die Azure KI-Dienste zu erfassen und zu verarbeiten, die die Objekterkennung durchführen.

Aufbau

Abbildung, die eine Architektur für Videodatenerfassung und Objekterkennung zeigt.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

In diesem Workflow wird beschrieben, wie das System die eingehenden Daten verarbeitet:

  1. Eine Kamera, die auf dem Roboter installiert ist, streamt ein Video mithilfe des Real Time Streaming-Protokolls (RTSP) in Echtzeit.

  2. Ein Container im Kubernetes-Cluster in Azure Stack Edge liest den eingehenden Stream und teilt Videos in einzelne Bilder auf. Ein Open-Source-Softwaretool namens FFmpeg erfasst und verarbeitet den Videodatenstrom.

  3. Die Bilder werden im lokalen Azure Stack Edge-Speicherkonto gespeichert.

  4. Jedes Mal, wenn ein neuer Keyframe im Speicherkonto gespeichert wird, übernimmt ihn ein KI Vision-Container. Informationen zur Aufteilung von Logik auf mehrere Container finden Sie unter Szenariodetails.

  5. Wenn ein Keyframe aus dem Speichercontainer geladen wird, sendet der KI Vision-Container ihn an Azure KI-Dienste in der Cloud. Diese Architektur verwendet Azure KI Vision, einen Dienst, der Objekterkennung mithilfe von Bildanalyse ermöglicht.

  6. Die Ergebnisse der Bildanalyse (erkannte Objekte und eine Zuverlässigkeitsbewertung) werden an den Anomalieerkennungscontainer gesendet.

  7. Der Anomalieerkennungscontainer speichert die Ergebnisse der Bildanalyse und der Anomalieerkennung als zukünftige Referenz in der lokalen Azure SQL-Datenbankinstanz von Azure Stack Edge. Die Verwendung einer lokalen Instanz der Datenbank verkürzt die Zugriffszeit, wodurch Verzögerungen beim Datenzugriff minimiert werden können.

  8. Die Datenverarbeitung wird ausgeführt, um Anomalien im eingehenden Echtzeitvideodatenstrom zu erkennen. Wenn Anomalien erkannt werden, zeigt eine Front-End-Benutzeroberfläche eine Warnung an.

Komponenten

  • Azure Stack Edge ist ein von Azure verwaltetes Gerät, das Compute, Speicher und Intelligenz von Azure am Edge verfügbar macht. Diese Architektur verwendet dies, um Azure-Dienste lokal in der Nähe des Speicherorts zu hosten, an dem die Anomalieerkennung auftritt, wodurch die Wartezeit verringert wird.

  • Azure Kubernetes Service (AKS) auf Azure Stack Edge. Azure Kubernetes Service (AKS) ist ein Managed Kubernetes-Dienst, den Sie für die Bereitstellung und Verwaltung von containerisierten Anwendungen nutzen können. In dieser Architektur verwenden wir eine Version von AKS, die auf dem Azure Stack Edge-Gerät ausgeführt wird, um Container zu verwalten, die für die Logik des Systems verantwortlich sind.

  • Azure Arc ist eine Brücke, die Azure-Dienste bis zum Edge erweitert. Durch die Verwendung von Azure Arc in dieser Architektur können wir Edgedienste über das Cloudportal steuern.

  • Azure KI Vision ist ein vereinheitlichter Dienst, der Computer-Vision-Funktionen bietet. In dieser Architektur wird das Bildanalysefeature verwendet, um Objekte in Keyframes des Videostreams zu erkennen.

  • Azure Blob Storage ist eine Objektspeicherlösung von Microsoft für die Cloud. In dieser Architektur wird dies wird verwendet, um Bilder von Keyframes zu speichern, die aus dem Videostream extrahiert werden.

  • Azure SQL Edge ist eine edgeoptimierte SQL-Datenbank-Engine mit geringem Speicherbedarf und integrierter KI. In dieser Architektur haben wir uns speziell für die Edgeversion des SQL-Moduls entschieden, um Bildanalysemetadaten zu speichern und dies in der Nähe des Diensts zu halten, der Daten verbraucht und verarbeitet.

  • Azure Container Registry ist eine Registrierung für Docker- und OCI-Images (Open Container Initiative), die alle OCI-Artefakte unterstützt. In dieser Architektur speichert die Registrierung Docker-Container-Images für Anomalieerkennung und KI-Vision-Container.

  • Azure Key Vault ist ein Dienst, der sichere Schlüsselverwaltung in der Cloud bereitstellt. In dieser Architektur wird dies verwendet, um Geheimnisse und Schlüssel zu speichern, damit die Logik des Systems mit externen Diensten interagieren kann, bei denen keine verwaltete Identität verfügbar ist.

  • Azure Monitor ist eine umfassende Überwachungslösung für die Sammlung, Analyse und Reaktion auf die Überwachung von Daten aus Ihren Cloud- und lokalen Umgebungen. In dieser Architektur ist dieser Dienst die primäre Einblickplattform für die Workload.

Szenariodetails

Diese Architektur veranschaulicht ein System, das einen Echtzeit-Videostream verarbeitet, die extrahierten Echtzeitdaten mit einer Reihe von Referenzdaten vergleicht und basierend auf den Ergebnissen Entscheidungen trifft. Sie könnte beispielsweise verwendet werden, um geplante Inspektionen eines eingezäunten Umkreises um einen gesicherten Standort bereitzustellen.

Die Architektur verwendet Azure Stack Edge, um sicherzustellen, dass die ressourcenintensivsten Prozesse lokal in der Nähe der Quelle des Videos ausgeführt werden. Dieses Design verbessert die Antwortzeit des Systems erheblich, was wichtig ist, wenn eine sofortige Reaktion auf eine Anomalie wichtig ist.

Da die Teile des Systems als unabhängige Container in einem Kubernetes-Cluster bereitgestellt werden, können Sie je nach Bedarf nur die erforderlichen Subsysteme skalieren. Wenn Sie beispielsweise die Anzahl der Kameras für den Videofeed erhöhen, können Sie den Container skalieren, der für die Videoaufnahme und -verarbeitung verantwortlich ist, um den Bedarf zu bewältigen, den restlichen Cluster aber unverändert lassen.

Durch das Auslagern der Objekterkennungsfunktion an Azure KI-Dienste wird das Fachwissen, das Sie für die Bereitstellung dieser Architektur benötigen, erheblich reduziert. Sofern Ihre Anforderungen an die Objekterkennung nicht außerordentlich speziell sind, ist der sofort einsatzbereite Ansatz, den Sie durch den Bildanalysedienst erhalten, ausreichend und erfordert keine Kenntnisse über maschinelles Lernen.

Mögliche Anwendungsfälle

  • Überwachen der Sicherheit einer Umgebung

  • Erkennen einer unsicheren Arbeitsumgebung in einer Fabrik

  • Erkennen von Anomalien in einer automatisierten Montagelinie

  • Erkennen eines Mangels an Enteisungsflüssigkeit in einem Flugzeug

Überlegungen

Diese Überlegungen bilden die Säulen des Azure Well-Architected Framework, einer Reihe von Leitprinzipien, die Sie zur Verbesserung der Qualität eines Workloads verwenden 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 in der Überblick über die Säule „Zuverlässigkeit“.

Einer der größten Vorteile der Verwendung von Azure Stack Edge besteht darin, dass Sie vollständig verwaltete Komponenten auf Ihrer lokalen Hardware erhalten. Alle vollständig verwalteten Azure-Komponenten sind auf regionaler Ebene automatisch resilient.

Darüber hinaus können Sie durch die Ausführung des Systems in einem Kubernetes-Cluster die Verantwortung für die Integrität der Subsysteme an das Kubernetes-Orchestrierungssystem delegieren.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

Verwaltete Microsoft Entra-Identitäten bieten Sicherheit für alle Komponenten dieser Architektur. Durch die Verwendung verwalteter Identitäten müssen keine Geheimnisse in Code- oder Konfigurationsdateien gespeichert werden. Dies vereinfacht die Zugriffssteuerung, die Verwaltung von Anmeldeinformationen und die Rollenzuweisung.

Kostenoptimierung

Bei der Kostenoptimierung geht es darum, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Verwenden Sie den Azure-Preisrechner, um ein Preisbeispiel für dieses Szenario anzuzeigen. Die teuersten Komponenten in diesem Szenario sind Azure Stack Edge und Azure Kubernetes Service. Diese Dienste bieten Kapazität für die Skalierung des Systems, um einer in Zukunft möglicherweise steigenden Nachfrage gerecht zu werden.

Die Kosten für die Verwendung von Azure KI-Diensten für die Objekterkennung variieren abhängig davon, wie lange das System ausgeführt wird. Das obige Preisbeispiel basiert auf einem System, das ein Image pro Sekunde erzeugt und acht Stunden pro Tag ausgeführt wird. Ein FPS (Frame Per Second, Bild pro Sekunde) ist für dieses Szenario ausreichend. Wenn Ihr System jedoch über längere Zeiträume hinweg ausgeführt werden muss, sind die Kosten für die Verwendung der Azure KI-Dienste höher:

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Übersicht über die Säule „Leistungseffizienz“.

Da der Code in einem Kubernetes-Cluster bereitgestellt wird, können Sie die Vorteile dieses leistungsstarken Orchestrierungssystems nutzen. Da die verschiedenen Subsysteme in separaten Containern ausgeführt werden, können Sie nur die am meisten beanspruchten Teile der Anwendung skalieren. Im einfachsten Fall kann das System mit einem eingehenden Videofeed nur einen Knoten in einem Cluster enthalten. Dieser Entwurf vereinfacht die Erstkonfiguration erheblich. Wenn der Datenverarbeitungsbedarf steigt, können Sie den Cluster einfach skalieren, indem Sie weitere Knoten hinzufügen.

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

Produktdokumentation:

Geführter Lernpfad: