Teilen über


Azure Percept Vision-KI-Modul

Wichtig

Einstellung von Azure Percept DK:

Update 22. Februar 2023: Ein Firmwareupdate für die Zubehörkomponenten Percept DK Vision und Audio (auch bekannt als Vision und Audio SOM) ist jetzt hier verfügbar und ermöglicht es den Zubehörkomponenten, über den Ausmusterungstermin hinaus weiter funktionsfähig zu sein.

Die Public Preview von Azure Percept wird weiterentwickelt und soll neue Edgegeräteplattformen und Entwicklerfunktionen unterstützen. Im Rahmen dieser Weiterentwicklung werden Azure Percept DK und Audio Accessory sowie die zugehörigen unterstützenden Azure-Dienste für Percept DK am 30. März 2023 eingestellt.

Ab dem 30. März 2023 werden Azure Percept DK und Audio Accessory von keinem Azure-Dienst mehr unterstützt, einschließlich Azure Percept Studio, Betriebssystemupdates, Containerupdates, Anzeige von Webstreams und Custom Vision-Integration. Ab diesem Zeitpunkt bietet Microsoft keinen Kundenerfolgssupport und keine unterstützenden Dienste mehr. Weitere Informationen finden Sie im Blogbeitrag zur Außerbetriebnahme.

„azureeyemodule“ ist der Name des Edgemoduls zum Ausführen der KI-Vision-Workload im Azure Percept DK. Es gehört zu den Edgemodulen der Azure IoT-Suite und wird im Rahmen der Einrichtung für das Azure Percept DK bereitgestellt. Dieser Artikel enthält eine Übersicht über das Modul und seine Architektur.

Aufbau

Diagramm: Architektur von „azureeyemodule“

Bei der Azure Percept-Workload für das Azure Percept DK handelt es sich um eine C++-Anwendung, die im Docker-Container „azureeyemodule“ ausgeführt wird. Sie verwendet OpenCV GAPI für die Bildverarbeitung und Modellausführung. „azureeyemodule“ wird unter dem Mariner-Betriebssystem als Teil der Module der Azure IoT-Suite ausgeführt, die auf Basis des Azure Percept DK ausgeführt werden.

Die Azure Percept-Workload ist zum Erfassen von Bildern sowie zum Ausgeben von Bildern und Nachrichten konzipiert. Die Ausgabebilder können mit Zeichnungen wie Begrenzungsfeldern, Segmentierungsmasken, Verknüpfungen, Bezeichnungen usw. markiert werden. Bei den Ausgabenachrichten handelt es sich um einen JSON-Datenstrom mit Rückschlussergebnissen, der von Downstreamtasks erfasst und verwendet werden kann. Die Ergebnisse werden als RTSP-Datenstrom bereitgestellt, der am Port 8554 des Geräts verfügbar ist. Die Ergebnisse werden auch an ein anderes Modul gesendet, das auf dem Gerät ausgeführt wird. Dadurch wird der RTSP-Datenstrom im Rahmen eines am Port 3000 ausgeführten HTTP-Servers bereitgestellt. Sie können in beiden Fällen allerdings nur im lokalen Netzwerk angezeigt werden.

Achtung

Es gibt keine Verschlüsselung oder Authentifizierung für die RTSP-Feeds. Jeder Benutzer im lokalen Netzwerk kann genau das anzeigen, was Azure Percept Vision sieht, indem er die richtige Adresse in einen Webbrowser oder RTSP-basierten Media Player eingibt.

Die Azure Percept-Workload bietet mehrere praktische Features für Endbenutzer:

  • Eine codefreie Lösung für gängige Anwendungsfälle mit maschinellem Sehen wie Objektklassifizierung und allgemeine Objekterkennung
  • Eine erweiterte Lösung, bei der ein Entwickler sein eigenes (ggf. kaskadiertes) trainiertes Modell auf das Gerät übertragen und dort ausführen sowie möglicherweise Ergebnisse an ein anderes, selbst erstelltes IoT-Modul übergeben kann, das auf dem Gerät ausgeführt wird
  • Eine Schleife zum erneuten Trainieren, um regelmäßig Bilder vom Gerät zu erfassen, das Modell in der Cloud neu zu trainieren und anschließend das neu trainierte Modell wieder an das Gerät zu pushen. Dabei bietet das Gerät die Möglichkeit, Modelle im laufenden Betrieb zu aktualisieren und auszutauschen.

Details zur KI-Workload

Die Workloadanwendung steht im GitHub-Repository für die erweiterte Entwicklung mit Azure Percept als Open Source zur Verfügung und setzt sich aus zahlreichen kleinen C++-Modulen zusammen. Die wichtigsten davon sind:

  • main.cpp: Richtet alles ein und führt dann die Hauptschleife aus.
  • iot: Dieser Ordner enthält Module für die Behandlung ein- und ausgehender Nachrichten des Azure IoT Edge-Hubs sowie die Methode zum Aktualisieren von Zwillingen.
  • model: Dieser Ordner enthält Module für eine Klassenhierarchie von Modellen für maschinelles Sehen.
  • kernels: Dieser Ordner enthält Module für G-API-Kernel, Vorgänge und C++-Wrapperfunktionen.

Entwickler können mithilfe dieser Workloadanwendung benutzerdefinierte Module erstellen oder das aktuelle Modul „azureeyemodule“ anpassen.

Nächste Schritte

  • Nachdem Sie nun mehr über „azureeyemodule“ und die Azure Percept-Workload erfahren haben, können Sie versuchen, ein eigenes Modell oder eine eigene Pipeline zu verwenden. Folgen Sie hierzu einem der Tutorials.
  • Alternativ können Sie den Lerntransfer mit einem unserer vorgefertigten Notebooks für maschinelles Lernen ausprobieren.