Rechnen mit dem Bayes-Theorem
Technische Hintergründe zum M7 Coprozessor: So erkennt das iPhone 5s Schritte & Co.
Wie genau funktioniert die Aktivitätserkennung des im iPhone 5s verbauten M7 Coprozessors? Auf welche Schnittstellen können Entwickler, die an den vom iPhone 5s gesammelten Bewegungsdaten interessiert sind, setzen? Wie unterscheidet das iPhone die per Fuß zurückgelegten Strecken von denen, die als Autofahrten und Ruhephasen erkannt werden?
Der Motionprozessor ist durch die zahlreichen App Store-Neuveröffentlichungen der vergangenen Tagen in aller Munde; zu den Hintergründen des stromsparenden Logikbausteins, der es wohl auch in Apples iWatch schaffen wird, ist außerhalb der Entwickler-Community jedoch nur wenig bekannt.
Vorhang auf für Paul Balzer. Der Mitarbeiter des dresdner Unternehmens MechLab Engineering, beschreibt in seinem Artikel „Aktivitätenerkennung“ die Unterschiede der vom M7 ausgegebenen Status-Meldungen (stationary, running, walking, automotive und unknown) erklärt das Confidence-Rating, mit dem das iPhone die Sicherheit ermittelt, mit der die festgestellte Art der Bewegung wahrscheinlich zutrifft und gibt einen Einblick in die Welt der Algorithmen zur Aktivitätenklassifizierung, mit Hilfe sich die M7-Daten weiter verarbeiten lassen.
Wie also handhaben iPhone-Entwickler die Kommunikation ihrer Apps mit dem neuen iPhone-Chip am besten?
[…] Allein mit Hilfe der Drehrate und Beschleunigung ist es relativ einfach möglich, grundlegende Aktivitäten zu unterscheiden. Der hier aufgezeichnete und betrachtete Zeitraum war nur 8 Sekunden. Mit den Ergebnissen aus jeweils einer Periode kann eine Wahrscheinlichkeit berechnet werden, welche Aktivität gerade vorliegt. Z.B. könnte aus der Analyse der Signale berechnet werden, dass gerade Fahrrad gefahren wird.
Kommt der Algorithmus zu dem Ergebnis “radfahren”, so wird die Wahrscheinlichkeit, dass gerade wirklich Rad gefahren wird, erhöht. So kann über das Bayes’-Theorem mit vorhandener Wahrscheinlichkeit und neuer Erkenntnis eine “confidence” berechnet und ausgegeben werden. Zusätzlich können Zustandsübergänge als Markoff Ketten mit Wahrscheinlichkeiten bestimmt werden. Ein Übergang von joggen zu laufen ist wahrscheinlicher, als ein Übergang von joggen zu radfahren.