print page

Bachelor's Thesis

Hand gesture recognition with decision trees

Hintergrund

Maschinelles Lernen (ML) geschieht heute meist mit Hilfe leistungsfähiger Rechner. Es gibt aber auch Anwendungen für ML auf leistungsschwachen Mikrocontrollern mit wenig Speicher. Ein Beispiel ist die Klassifikation von Sensordaten, mit der festgestellt wird, was die Messwerte der Sensoren für eine praktische Anwendung bedeuten. Im Institut für Telematik wird das für die optische Erkennung von Handgesten untersucht, mit denen Menschen Geräte steuern (z. B. Handbewegung links nach rechts). Das kann als kleines, preiswertes Modul realisiert werden, das einen Mikrocontroller und wenige Lichtsensoren enthält, die als eine Art Facettenauge genutzten werden. Aus den gemessenen Lichtstärken erkennt eine ML-Software auf dem Mikrocontroller die Gesten und signalisiert diese anderen Baugruppen über digitale Ausgänge.

Ein experimenteller Prototyp einer solchen Facettenaugenkamera mit 3x3 Lichtsensoren und einem Arduino-Board (ATmega328P: 8-Bit, 16 MHz, 2 kB RAM, 32 kB Flash-Speicher) als Verarbeitungseinheit wurde bereits entwickelt. Mehrere studentische Arbeiten haben untersucht, wie Gesten auf dem Mikrocontroller mit künstlichen neuronalen Netzen erkannt werden können. Ein alternativer ML-Ansatz sind Entscheidungsbäume (Decision Trees), deren Auswertung eine Klassifikation mit geringem Rechenaufwand versprechen.

Ziele der Arbeit

Das Ziel der ausgeschriebenen Arbeit ist es zu untersuchen, wie mit Entscheidungsbäumen Handgesten auf kleinen Mikrocontrollern erkannt werden können. In der Arbeit sollen mehrere Ansätze für Entscheidungsbäume und Trainingsverfahren verglichen werden. Es muss untersucht werden, ob und wie die Messwerte der Lichtsensoren für die Entscheidungsbäume vorverarbeitet werden sollten. Die Handgestenerkennung soll äußerst wenig Rechenaufwand und Speicherplatz erfordern. Sie soll zuverlässig sein, auch wenn die Bedingungen (Licht, Ausführung der Geste) nicht optimal sind. Diese Anforderungen müssen für die betrachteten Ansätze analysiert und verglichen werden.

Training und Ausführung der Entscheidungsbäume soll zunächst am PC geschehen. Dazu müssen geeignete Bibliotheken für Python gefunden werden. Trainierte Entscheidungsbäume sollen schließlich auch für den Mikrocontroller der Kamera in C implementiert und demonstriert werden.

Technology Machine Learning, Decision Trees, Python
Documents Flyer
Contact Dr. Marcus Venzke