Bild­ver­a­r­bei­tungs­me­tho­den zur Ex­trak­ti­on von ro­bus­ten Merk­ma­len für die Hand­ges­te­ner­ken­nung

Bachelorarbeit von Christian Stritzke

 

Motivation

Jährlich ereignen sich in Deutschland etwa 320000 Verkehrsunfälle mit Personenschaden. Für die Beteiligten, vor allem die Opfer, ist ein solches Ereignis häufig traumatisierend. Manchmal leiden Patienten nach einem traumatischen Ereignis unter der Posttraumatischen Belastungsstörung (PTBS), einer Angststörung, die lange nach dem Schockzustand dem Patienten ein normales Leben unmöglich macht. Um die Therapie einer PTBS, vor allem für Kinder und Jugendliche, zu erleichtern, soll in naher Zukunft ein Computerspiel eingesetzt werden. In dem Spiel  erleben die Patienten eine metaphorische Geschichte in einer virtuellen 3D-Umgebung, werden aber gleichzeitig mit ihrer Störung konfrontiert.

Die Steuerung dieses Spiels erfolgt momentan mit konventionellen Geräten (Maus, Tastatur). Dies soll um eine Handgestensteuerung erweitert werden, sodass Patienten letztlich das Spiel vor einer Powerwall stehend, mit den Händen steuern können. Allerdings waren Softwaresysteme zur Handgestenerkennung bisher nicht robust, ihr praktischer Einsatz daher kaum denkbar. Denn ein Standard-Vorgehen ist, die Hand durch visuelle Merkmale zu klassifizieren, die ein Bildverarbeitungssystem erkennt. Die Erkennung ist jedoch von vielen Umweltfaktoren und der Hand des Anwenders selbst abhängig. In der Regel verschlechtern diese Faktoren die Gestenerkennung. Allerdings versprechen neuere Algorithmen und auch verbesserte Kamerasensoren hier Abhilfe.

 

Zielsetzung

Das Ziel der Arbeit war, ein Softwaresystem zur Handgestenerkennung auf Basis robuster Merkmale aufzubauen. Dazu soll aus einem Anwendungsbeispiel Interaktionsszenarios ermittelt und die dafür benötigten Gesten erstellt werden. Diese Gesten sollen mit einem robusten Bildanalyseverfahren erkannt werden. Dies beinhaltet die folgenden vier Verfahren: Erstens, ein Verfahren zur Segmentierung von Pixeln, die zur Hand gehören. Zweitens,  ein Trackingverfahren, das den Bereich erkennt, in dem sich die Hand befindet. Drittens, ein Algorithmus zur Extraktion geeigneter Merkmale und Viertens, ein Klassifikationsverfahren, das den Merkmalen die korrekte Handgeste zuordnet.

Ein wichtiges Qualitätsmerkmal dieses Verfahrens ist Robustheit. Um diese zu bewerten sind mathematische Modelle der Robustheit für die einzelnen Schritte zu erstellen. Diese sind in Experimenten zu messen, die Messung ist zu analysieren und die Robustheit zu bewerten.

 

Ergebnisse

Das Ergebnis der Arbeit ist ein Verfahren zur robusten Erkennung von Handgesten und der Positionsbestimmung der Hand. Vier Handgesten wurden realisiert, die zur Ermittlung der Robustheit herangezogen werden (Bild 1). Drei der Handgesten (Fünf-Finger, Faust, Zeigefinger) sind statisch. Der Anwender muss diese Gesten in die Kamera zeigen, die Software erkennt diese augenblicklich.  Eine Geste erfordert eine Bewegung der Hand, die in einer Serie von Bildern erkannt werden muss.

Bild 2 zeigt die graphische Oberfläche des erstellten Werkzeuges. Dargestellt ist eine segmentierte Zeigefinger-Geste. In der linken oberen Ecke sind die extrahierten Merkmale zu erkennen. Die Software ist mit OpenCV realisiert worden.

Des Weiteren wurde ein exemplarisches Szenario für die Interaktion mit einer 3D-Umgebung  durch Handgesten konzipiert (Bild 3). In diesem Szenario können Benutzer zum einen Objekte in der virtuellen Welt bewegen und zum anderen Menüs bedienen. Im Bild ist die Bewegung eines 3D-Modells dargestellt. Zur Orchestrierung einzelner Gesten zu einer Interaktion wurden diese rechnerintern durch ein Zustandsdiagramm modelliert. Jeder Zustand entspricht einer Funktion der Anwendung, jede Transition repräsentiert eine Geste.

Zur Ermittlung der Robustheit wurden mehrere Experimente durchgeführt, in denen bei unterschiedlichen Beleuchtungsverhältnissen die Gesten getestet worden sind. Die Robustheit ist allgemein definiert als die Fähigkeit eines Algorithmus nicht auf statistische Ausreißer zu reagieren. In der Gestenerkennung bedeutet dies: Bei welcher Streuung der Merkmale werden die Gesten noch erkannt.

Tabelle 1 zeigt einen Teil der Ergebnisse. Die Tabelle zeigt, wie häufig die Gesten bei unterschiedlichen Beleuchtungsverhältnissen erkannt worden sind. 

In Bild 4 ist dargestellt, wie sich ein Merkmal der Hand (Hu 1) bei unterschiedlichen Testbedingungen verhält. Es zeigt sich, dass der Wert extrem streut. Dennoch war das Gestenerkennungssystem in der Lage, die Hand eindeutig zu identifizieren.

Insgesamt sind die Ergebnisse ein starkes Indiz für die Robustheit der Bildverarbeitungsalgorithmen. Die Nutzung von Gesten zur Steuerung von Computergrafik-Anwendungen ist somit möglich.