© Liashko/Shutterstock.com
Von Sensordaten zur erkannten Aktivität in wenigen Schritten

Da tut sich was


Tragbare Sensoren haben längst Einzug in unseren Alltag gehalten. Wie man erfolgreich Bewegungssensorik und Maschinenlernverfahren nutzen kann, um in wenigen Schritten von Sensordaten zu einem System zur Erkennung einfacher menschlicher Aktivitäten zu gelangen, zeigen wir in diesem Artikel.

Dank des massiven Preisverfalls mikroelektromechanischer Systeme (MEMS) haben unzählige Sensoren Einzug in unseren Alltag gehalten. Vor allem die so genannte Inertialsensorik, also Beschleunigungs- und Drehratensensoren, ermöglichen durch ihre inzwischen allgegenwärtige Verfügbarkeit insbesondere in mobilen Geräten viele interessante Einsatzmöglichkeiten, etwa die Steuerung von Programmen mittels Gesten, Sturzerkennung oder auch die Navigation in Vir­tual- und Augmented-Reality-Umgebungen. Ein weiteres Anwendungsfeld ist das automatisierte Erkennen der aktuellen Aktivität eines Nutzers. Dazu wird aus den Bewegungsmustern, welche die Sensoren aufzeichnen, in mehreren Teilschritten auf die den Beobachtungen zugrunde liegenden Tätigkeiten geschlossen. Das ist kein Hexenwerk und lässt sich mittels frei verfügbarer Werkzeuge und Bibliotheken inzwischen leicht in Java umsetzen. Zum Einsatz kommt hier das Weka-Toolkit (Kasten: „Weka 3: Weikato Environment for Knowledge Analysis“), ein frei verfügbares, in Java implementiertes Datamining-Werkzeug. Ziel dieses Artikels ist es, Ihnen einen Einblick in das Forschungsfeld der Aktivitätserkennung zu vermitteln. Am Ende sollten Sie in der Lage sein, ein System zur Erkennung einfacher Aktivitäten zu implementieren – etwa zur Bereitstellung kontextsensitiver Funktionen und Services oder auch als persönlichen Fitnesstracker.

Die Aktivitätserkennungspipeline

Die allgemeine Vorgehensweise zur Erkennung menschlicher Aktivitäten stammt historisch gesehen aus einem Teilgebiet des KI-Forschungsfelds Computer Vision, bei dem Kamerabilder durch Algorithmen automatisch analysiert und interpretiert werden, um Bewegungen und Tätigkeiten zu identifizieren. Dadurch, dass Bewegungssensoren immer kleiner und billiger wurden, wurden die Verfahren an die neuen Sensormodalitäten adaptiert und nach und nach durch spezialisierte Methoden und Modelle verbessert. Während sich die Forschung inzwischen auf komplexe und abstraktere kausale Handlungsmodelle konzentriert, ist es bereits für Nichtwissenschaftler möglich, grundlegende Aktivitäten wie Gehen, Stehen oder Radfahren mithilfe von Sensoren, wie sie etwa im Mobiltelefon verbaut sind, und geeigneten Maschinenlernverfahren zu detektieren. Die Aktivitätserkennungspipeline ist im Grunde eine normale Mustererkennungspipeline und besteht aus mehreren aufeinanderfolgenden Verarbeitungsschritten (Abb. 1). Die Pipeline umfasst die Aufnahme der Rohsensordaten, deren Vorverarbeitung und Segmentierung, das Gewinnen aussagekräftiger Merkmale und das eigentliche Klassifizieren, das die aufgenommenen Daten den einzelnen Aktivitäten zuordnet.

kirste_maschinelles_lernen_1.tif_fmt1.jpgAbb. 1: Schematische Aktivitätserkennungspipeline

Aufnahme von Sensordaten

Es ist für den Computer nicht möglich, Bewegungen des Körpers direkt zu erfassen. Nur deren Auswirkungen auf Sensoren, die physikalische Größen messen und in Zahlen umwandeln, welche die Algorithmen verarbeiten können. Die Sensoren stellen somit gewissermaßen eine Art Fenster zur Welt dar. Ziel ist es, aus einer Menge von Aktivitäten diejenige Aktivität zu bestimmen, welche die gemessenen Sensordaten am besten erklären kann. Zwischen welchen Aktivitäten unterschieden werden soll, ist wiederum ausschlaggebend für die Art und Platzierung der Sensorik. In diesem Szenario verwenden wir Akzelerometer (Beschleunigungsmesser) und Gyroskope (Drehratenmesser), um Translation und Rotation messen zu können. Da wir nur Aktivitäten betrachten, die Bewegungen des gesamten Körpers umfassen, reicht für unser Szenario ein einzelner Sensorknoten an der Hüfte aus, wie etwa ein Mobiltelefon am Gürtel. Für feingranularere Anwendungen kann es durchaus sinnvoll sein, Sensoren an Armen, Beinen oder anderen Stellen zu platzieren. Weiterhin müssen Messbereich und Abtastrate der Sensoren sorgfältig gewählt werden. Ein falsch gewählter Wertebereich kann dafür sorgen, dass Bewegungen zu grob aufgelöst werden, im Grundrauschen untergehen oder bei starken Bewegungen bereits den Messbereich übersteigen, sodass ein gesättigtes Signal aufgezeichnet wird. Eine zu geringe Abtastrate wiederum kann nach Nyquists Abtasttheorem [1] zu Artefakten führen. Für unsere Bewegungen haben wir uns für einen Messbereich von ±4 G und eine Abtastrate von 50 Hz entschieden, was das Erfassen von Bewegungen von bis zu 25 Hz erlaubt.

Für das spätere Training der Klassifikatoren und die Evaluation der Erkennungsgenauigkeit werden neben den Sensordaten auch Annotationen benötigt – die Ground Truth. Für unsere Anwendung reicht es, dass jeder Datenpunkt mit einem Label der tatsächlich aufgezeichneten Aktivität gekennzeichnet ist. Das Annotieren kann entweder direkt während der Aufzeichnungen oder nachträglich erfolgen, etwa anhand von Videos. Zu beachten ist, dass alle Fehler und Ungenauigkeiten in den Annotationen sich unmittelbar auf die Klassifizierung und Evaluation auswirken. Die Annotationsqualität ist also von entscheidender Bedeutung. Im Beispiel wurde die Annotation bereits vorgenommen und steht in der Spalte class. Listing 1 zeigt die ersten Zeilen eines aufgenommenen Datenfiles im Weka-eigenen ARFF-Dateiformat.

Listing 1: Sensordaten

@relation s1 @attribute AccX numeric @attribute AccY numeric @attribute AccZ numeric @attribute GyrX numeric @attribute GyrY numeric @attribute GyrZ numeric @attribute class {'bike','downstairs','lie','run','sit','stand','upstairs','walk'} @data 485,517,513,519,527,520,'downstairs' 483,517,513,526,517,515,'downstairs'

Ein Schritt zurück: Datenvorverarbeitung

Da die meisten heute erhältlichen Sensoren bereits digital und zu einem gewissen Grad intelligent sind, werden die meisten Vorverarbeitungsschritte direkt auf der Hardware durchgeführt (AD-Wandlung, Kalibrierung oder Tempera...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang