Gestenerkennung
# Gestenerkennung

Gestenerkennung ist die automatische Erkennung menschlicher Gesten mit Hilfe von Computern. Ein Teilgebiet der Informatik beschäftigt sich mit den Algorithmen und mathematischen Methoden zur Erkennung von Gesten und der Nutzung von Gesten zur Mensch-Computer-Interaktion. Jede Körperhaltung und Körperbewegung kann dabei prinzipiell eine Geste darstellen. Die größte Bedeutung hat jedoch die Erkennung von Hand- und Kopfgesten. Eine Variante der Gestenerkennung ist die Erkennung sogenannter Mausgesten.

## Definition

Mit Bezug auf die Mensch-Computer-Interaktion definieren Kurtenbach und Hulteen eine Geste wie folgt: „A gesture is a motion of the body that contains information. Waving goodbye is a gesture. Pressing a key on a keyboard is not a gesture because the motion of a finger on its way to hitting a key is neither observed nor significant. All that matters is which key was pressed“. Im Gegensatz dazu verzichten Harling und Edwards auf die Forderung nach Bewegung und verstehen unter einer Geste auch statische Handhaltungen. Es kann zwischen Systemen unterschieden werden, bei denen sich die zur Erkennung notwendige Sensorik direkt am Körper des Benutzers befindet, und solchen, bei denen der Benutzer durch externe Sensorik beobachtet wird.
Die Gestenerkennung ist ein aktives Forschungsfeld, das versucht, Gesten in die Mensch-Computer-Interaktion zu integrieren. Es hat Anwendungen in der Steuerung virtueller Umgebungen, aber auch in der Übersetzung von Gebärdensprachen, der Fernsteuerung von Robotern oder musikalischen Kompositionen.
Das Erkennen menschlicher Gesten fällt in den allgemeineren Rahmen der Mustererkennung. In diesem Rahmen bestehen Systeme aus zwei Prozessen: dem Repräsentationsprozess und dem Entscheidungsprozess. Der Darstellungsprozess konvertiert die numerischen Rohdaten in eine Form, die an den Entscheidungsprozess angepasst ist und die Daten dann klassifiziert.
Gestenerkennungssysteme erben diese Struktur und haben zwei weitere Prozesse: den Erfassungsprozess, der die physische Geste in numerische Daten umwandelt, und den Interpretationsprozess, der die Bedeutung der aus dem Entscheidungsprozess stammenden Symbolserien angibt.
Am häufigsten werden Hand- und Armgesten interpretiert. Sie bestehen typischerweise aus vier Elementen: Handkonfiguration, Bewegung, Orientierung und Position. Eine grobe Klassifizierung von Gesten kann auch durch Trennen der statischen Gesten erfolgen, die als Handhaltungen bezeichnet werden, und die dynamischen Gesten, die Sequenzen von Handhaltungen sind.
Es können zwei Hauptfamilien von Gestenerfassungssystemen betrachtet werden, Systeme mit und ohne Hilfsmittel am Körper. In Systemen mit Körperhilfsmittel erfolgt die Erfassung von Gesten durch Zusatzgeräte (Sensor-Handschuhe, Exoskelette, Marker), das einige Eigenschaften der Geste, im Allgemeinen die verschiedenen Gelenkbiegewinkel, direkt misst. In hilfsmittelfreien Systemen wird die Geste von einem Sensor (Kamera, Ultraschall) aus der Distanz erfasst. Der Hauptvorteil des Remote-Ansatzes ist seine nicht-einschränkende Natur. Er ermöglicht dem Benutzer eine spontane Ausführung einer Geste, ohne vorherigen Rüstaufwand. Die Hauptnachteile sind die erhöhte Komplexität der Verarbeitung sowie die Begrenzung des Erfassungsbereichs. Hilfsmittelbasierte Methoden hingegen sind schneller und robuster.

## Gestenerkennung mit Hilfsmittel am Körper

Die meisten auf am Körper getragener oder mit der Hand geführter Sensorik basierenden Systeme nutzen in Datenhandschuhe integrierte Beschleunigungs- oder Positionssensoren. Der Nachteil von auf Datenhandschuhen basierenden Systemen ist, dass der Benutzer den Handschuh anziehen muss, um das System zu nutzen.
Mit der Hand geführte Systeme, wie der Controller der Nintendo Wii und der durch die Firma BeeCon hergestellte BlueWand, können ebenfalls zur Gesteneingabe genutzt werden. Beide Systeme lassen sich durch den Benutzer in die Hand nehmen und verfügen über Beschleunigungssensoren, um die Bewegung des jeweiligen Gerätes festzustellen.
Bei neueren Geräten wie Smartphones und Tabletcomputern werden vor allem Touchscreens eingesetzt, die per „Wischgesten“ benutzt werden können. Insbesondere bieten Multi-Touch-Screens die Erkennung von mehreren unabhängigen Fingerdrücken gleichzeitig, sodass beispielsweise mit zwei diagonal angesetzten Fingerspitzen Fenster größer oder kleiner gezogen werden können.

## Gestenerkennung ohne Hilfsmittel am Körper

Bei Systemen mit externer Sensorik handelt es sich zumeist um kameragestützte Systeme. Die Kameras werden genutzt, um Bilder des Benutzers zu erstellen. Dabei existieren sowohl Systeme mit einer Kamera als auch mit mehreren Kameras, wobei die neueren Systeme oftmals mit 3D-Daten arbeiten, die entweder über time-of-flight-Kameras oder sogenannte Structured Light Kameras arbeiten. Kamerabasierte Verfahren greifen auf Techniken der 2D- und 3D-Bildanalyse zurück, um die Körperhaltung des Benutzers zu erkennen. Kameragestützte Gestenerkennung wird beispielsweise in Spielen für das an Spielekonsolen anschließbare EyeToy verwendet. Ein ganz neuer Ansatz ist die Gestensteuerung per Stereoskopie. Der Vorteil dabei ist, dass diese ohne Infrarotlicht auskommt und somit auch im Freien funktioniert.
Bei der technischen Bildanalyse sind grundsätzlich mehrere Ansätze zu unterscheiden: Entweder wird eine Datenbank mit relevanten Gesten erstellt, die auf Grund eines Meridians von über 1000 Videoanalysen pro Geste erstellt worden sind. Aufgenommene Steuerungsgesten werden dann mit der Datenbank verglichen und entsprechend bestimmt. Diese Lösung wird zum Beispiel von Microsoft mit der Xbox in Verbindung mit der 3D-Kamera Kinect angewendet. Die Analyse kann im zweidimensionalen Raum anhand von Bild- und Videoinformationen durchgeführt werden. Im dreidimensionalen Raum spricht man von volumetrischer Berechnung, beispielsweise werden Körper durch Non-Uniform Rational B-Splines oder Polygone repräsentiert. An einer Berechnung von 3D-Daten in Echtzeit wird derzeit noch entwickelt. Der Nachteil dieser datenbankbasierten Analyse ist, dass sie mit der Datenbank viel Rechenleistung abfordert. Alternativ arbeitet die Software mit einer echten Skeletterkennung, d. h. aus den Kameradaten werden Körper, Hand und/oder Finger erkannt und durch ein vereinfachtes Skelettmodell den vordefinierten Gesten zugeordnet. Diese Lösung verspricht eine sehr viel größere Gestenvielfalt und Präzision, ist aber technisch deutlich anspruchsvoller.
Mittels mikromechanischer Ultraschallwandler können Abstandsänderungen, Bewegungsmuster und Gesten im Bereich bis zu einem halben Meter mit hoher räumlicher Auflösung gemessen werden. Das Fraunhofer-Institut für Photonische Mikrosysteme hat dafür sehr kleine und kostengünstig herstellbare Bauelemente entwickelt.
Ziel der Forschung und Entwicklung in den kommenden Jahren ist es, Gestenerkennung im Rahmen von Embedded Software umzusetzen, die plattform- und kameraunabhängig ist und nur wenig Energie benötigt, daher auch beispielsweise in Mobiltelefonen, Tablets oder Navigationssystemen eingesetzt werden kann.
2012 haben eine Reihe von kommerziellen Anbietern angekündigt, dass sie mit Geräten zur Gestenerkennung auf den Markt kommen wollen, welche deutlich besser sein sollen als die bis dahin verfügbaren Geräte (insb. die Kinect für die Xbox). Zum Beispiel hat Samsung auf der CES 2012 in Las Vegas den Smart TV vorgestellt. Ein anderes Unternehmen ist LeapMotion, wobei das Werbevideo zu The Leap in der Community kritisiert wurde, da teilweise offensichtlich gestellte Szenen eingespielt wurden. In Deutschland ist Gestenkontrolle insbesondere ein Thema im Bereich der Automobilindustrie, wobei hier besonders stabile und mobile Systeme benötigt werden, wie sie zum Beispiel von gestigon hergestellt werden. Auch in den Bereichen Digital Signage, Medientechnik, Medienkunst und Performance wird 3D Gestenerkennung gerne eingesetzt. Eine einfache Möglichkeit, Gestenerkennung in diesen Bereichen zu nutzen und z. B. andere Software zu kontrollieren, ist Kinetic Space. Weitere Hersteller sind zum Beispiel Omek, Softkinetic und Myestro Interactive.

## Gestenarten

Es kann nach zwei Gestenarten unterschieden werden. Bei kontinuierlichen Gesten besteht eine direkte Verbindung zwischen der durch den Computer beobachteten Bewegung und einem Zustand im Computer. Beispielsweise kann durch Zeigen auf den Bildschirm ein Zeiger gesteuert werden. Bei diskreten Gesten handelt es sich hingegen um beschränkte Mengen von eindeutigen Gesten, mit denen in der Regel jeweils eine Aktion verknüpft ist. Ein Beispiel für diskrete Gesten ist die Gebärdensprache, bei der jede Gebärde mit einer bestimmten Bedeutung verknüpft ist. Für berührungsempfindliche Bildschirme (Touchscreens) hingegen sind einfache Fingerbewegungen, wie das Kneifen (Kneifgeste) oder Spreizen (Spreizgeste) mit zwei Fingern, üblich.

## Erkennung

Bei der eigentlichen Erkennung von Gesten, werden die Informationen der Sensorik mittels Algorithmen analysiert, die aus den gemessenen Rohdaten Gesten ermitteln. Dabei kommen Algorithmen zur Mustererkennung zum Einsatz. Zur Entfernung von Rauschen in den Eingabedaten und zur Datenreduktion erfolgt häufig im ersten Schritt eine Vorbearbeitung der Sensordaten. Anschließend werden Merkmale aus den Eingabedaten extrahiert. Diese Merkmale dienen als Eingabe für die Klassifikation. Hierfür werden häufig Hidden Markov Models, künstliche neuronale Netze und weitere Techniken, die ihren Ursprung meist in der Forschung zum maschinellen Lernen haben, eingesetzt.
Neue Erkenntnisse im Bereich des maschinellen Lernens und vor allem im Kontext des Lerntransfers haben Anwendungen ermöglicht, bei denen mit relativ wenig Rohdaten Modelle entwickelt werden können, welche für individuelle Gesten in Anwendungen verwendet werden können. Die zugrunde liegende Architektur dieser Modelle ermöglicht dabei sowohl die Gestenerkennung in Bildern als auch in Videos.