Sind die Rohdaten der Bewegungen einmal erfasst, klassifiziert und analysiert sie eine Maschinenlerntechnik. Es gibt viele verschiedene Optionen – von der logistischen Regression bis hin zu neuronalen Netzwerken. Ein für Künstliche Intelligenz verwendetes Lernmodell sind „Support Vector Machines“ (SVMs – Stützvektormaschinen). Sie eignen sich besonders für die Klassifizierung von Abläufen. Weil physische Aktivitäten wie Gehen eine Abfolge von Bewegungen einschließen, sind SVMs die logische Wahl für die Klassifizierung von Aktivitäten. SVMs sind einfach zu nutzen, zu trainieren, zu skalieren und vorherzusagen.
Damit ist es leicht, für die Verwendung in nichtlinearen Klassifizierungen gleichzeitig Versuche zur Erfassung mehrerer Proben aufzubauen, um komplexe, realitätsnahe Datensätze zu verarbeiten. Eine SVM ermöglicht auch eine breite Größen- und Leistungsoptimierung. SVMs benötigen aber eine entsprechende Softwarebibliothek. Die quelloffene Bibliothek LibSVM eignet sich hier besonders gut. Sie ist stabil und gut dokumentiert, unterstützt die mehrklassige Klassifizierung und bietet Erweiterungen für alle wesentlichen Entwicklungsplattformen an – von MATLAB bis Android.
Herausforderungen der Live-Klassifizierung
Für den praktischen Gebrauch ist eine Live-Klassifizierung nötig: Während der Nutzer sich bewegt, soll das jeweilige Produkt dessen Aktivität erkennen und sich an ihn anpassen. Damit die Produktkosten so gering wie möglich bleiben, muss man allerdings einen Ausgleich zwischen den Übertragungs-, Speicher- und Verarbeitungskosten finden, der das Ergebnis, sprich die Qualität der Informationen, nicht gefährdet.
Vorausgesetzt, die Datenübertragung ist erschwinglich, lassen sich alle Daten in der Cloud speichern und verarbeiten. Allerdings birgt dies das Risiko einer riesigen Datenansammlung. Das dafür unvermeidliche WiFi-, Bluetooth- oder 4G-Modul treibt die Gerätekosten weiter in die Höhe, weil die Geräte dann einen Internetanschluss benötigen. Zudem kann selbst der Zugang zu 3G-Netzwerken gerade in ländlichen Gegenden oft eine Herausforderung darstellen. Diese Abhängigkeit von der Übertragung großer Datenmengen an die Cloud würde Updates verlangsamen und regelmäßiges Synchronisieren erfordern. Damit verkehren sich die eigentlichen Vorteile einer KI-Bewegungsanalyse ins Gegenteil. Umgekehrt würde die Verarbeitung all dieser Operationen ausschließlich auf dem Hauptprozessor des Gerätes ganz klar zu einem beträchtlichen Leistungsverlust und zu weniger Ausführungszyklen bei anderen Anwendungen führen. Das Speichern aller Daten auf dem Gerät selbst würde gleichermaßen die Speicherkosten erhöhen.
Wie lässt sich dieses Problem der scheinbar widersprüchlichen Faktoren lösen?
Indem man vier Prinzipien folgt:
1. Entkoppeln des Verarbeitens der Eigenschaften von der Arbeit der Klassifizierungs-Engine.
2. Verringern sowohl der Speicher- als auch der Verarbeitungsanforderungen durch eine intelligente Auswahl der Eigenschaften, die speziell für die genaue Erkennung der Aktivität erforderlich sind.
3. Nutzung von Sensoren, die Daten mit einer geringeren Leistungsaufnahme erfassen und eine Sensorfusion (Kombinieren von Daten von mehreren Sensoren) sowie eine Vorverarbeitung der Eigenschaften für eine Live-Ausführung durchführen können.
4. Umschulung des Modells mit systemgestützten Daten, die die Aktivitäten des Nutzers feststellen können.
Entkoppelt man die Verarbeitung der Eigenschaften von der Arbeit der Klassifizierungs-Engine, kann der an die Beschleunigungs- und Drehraten-Sensoren angeschlossene Prozessor viel kleiner sein. Die Live-Datenblöcke müssen nicht mehr ständig an einen leistungsstärkeren Prozessor übertragen werden. Und die Verarbeitung von Eigenschaften, wie FFT-Werte zur Umformung von Zeitdomänensignale in Frequenzdomänensignale, benötigt dann nur einen Fusionskern mit niedriger Leistungsaufnahme für die Ausführung der Gleitkommaoperationen.