Mit AI On the Edge ist
sehr allgemein die Nutzung von Methoden der Künstlichen Intelligenz (AI)
vor Ort, d.h. im Gerät selbst, gemeint.
Eine Verbindung zu einem Server gibt es
dabei nicht, so dass die gesamte Informationsverarbeitung lokal (On The Edge)
stattfinden muss.
Der Begriff Künstliche
Intelligenz ist im Rahmen des Moduls viel zu weit gefasst.
Tatsächlich geht es
um den Einsatz von Klassifikatoren[1]
unter zwei sehr unterschiedlichen Anforderungen an die Ressourcen Rechenleistung,
Speicher- und Energiebedarf.
Tabelle 1 zeigt die vorgesehenen Themen anhand ausgewählter Anwendungsfälle.
Anwendungsfall (auch im Labor durchgeführt) |
Hardware |
Lernziele
|
Objekterkennung und Objektverfolgung
Beispiel: Erkennung und Ortsbestimmung von Personen in einer laufenden Kameraaufzeichnung (Object Tracking) |
Mikrokontroller mit spezieller Hardware für die Auswertung neuronaler Netzwerke |
Entwicklung: Modellwahl eines neuronalen Netzes, Modelltraining, Modelltransformation
Einsatz: Aufsetzen einer Video-Verarbeitungskette, Integration mittels Middleware in die Firmware des µC |
Aktivitätserkennung und Aktivitätsbestimmung
Beispiel: Grobe Erkennung der ausgeführten Aktivität durch einen Beschleunigungssensor am Objekt |
Sensor mit spezieller Hardware für einen Klassifikator (in der Regel kein neuronales Netz) |
Entwicklung: Möglichkeiten und Grenzen extrem kleiner und sparsamer Klassifikatoren, Wahl einer passenden Methode, Trainingsablauf
Einsatz: Integration in den Sensor |
Tabelle 1: Inhalt ES-II (Planung im SS24)
Für beide Anwendungsfälle gibt es
erst seit Kurzem geeignete Hardware.
Für den ersten Fall wird voraussichtlich ein µC des Typs STM32MP257 (ST) oder i.MX 8M
Plus bzw. i.MX 95 (beide von NXP) eingesetzt werden.
Für den zweiten Fall sind zwei Vertreter mit unterschiedlich aufgebauten Klassifikatoren der MEMS-Sensorfamilien LSM6, LIS2 oder IMS330 (alle ST) vorgesehen.
Nicht explizit behandelt werden
Anwendungsfälle, bei denen der Klassifikator als einfaches Programm ohne
Unterstützung durch die Hardware realisiert werden kann.
Das ist die gängige
Lösung für zeit- oder energieunkritische Anwendungen wie beispielsweise eine
Objekterkennung in einem Standbild oder der Erkennung einiger Schlüsselwörter
in einer laufenden Audioaufzeichnung.
[1] Ein Klassifikator bestimmt, ob eine Eingabe (z.B. ein Bild) eine bestimmte Eigenschaft (z.B. „enthält ein Fahrrad“) aufweist. Dafür gibt es verschiedene Methoden. Ein prominentes Beispiel sind neuronale Netze.