Gestenerkennung

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 24. Juli 2016 um 18:45 Uhr durch Jaellee (Diskussion | Beiträge) (Typographische Anführungszeichen korrigiert | Helfer gesucht). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

Gestenerkennung ist die automatische Erkennung von durch Menschen ausgeführten Gesten mittels eines Computers. 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“.[1] Im Gegensatz dazu verzichten Harling und Edwards auf die Forderung nach Bewegung und verstehen unter einer Geste auch statische Handhaltungen.[2] 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.

Gerätebasierte Gestenerkennung

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,[3] 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, so dass beispielsweise mit zwei diagonal angesetzten Fingerspitzen Fenster größer oder kleiner gezogen werden können.

Kamerabasierte Gestenerkennung

Bei Systemen mit externer Sensorik handelt es sich zumeist um kameragestützte Systeme.[4] 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 1.000 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 zwei-dimensionalen Raum anhand von Bild- und Videoinformationen durchgeführt werden. Im drei-dimensionalen Raum sprich man von volumetrischer Berechnung, beispielsweise werden Körper durch NURBS oder Polygone repräsentiert.[5] An einer Berechnung von 3D-Daten in Echtzeit wird derzeit noch entwickelt. Der Nachteil dieser datenbank-basierten 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.

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 aktuell 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, die auch an einer Embedded Solution arbeiten. 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

Der Buchstabe „J“ in einer kanadischen Gebärdensprache

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.[6] 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 fließen die Informationen der Sensorik in Algorithmen ein, welche die Rohdaten analysieren und Gesten erkennen. 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 zur künstlichen Intelligenz haben, eingesetzt.

Einzelnachweise

  1. Kurtenbach G. und Hulteen E.A. „Gestures in Human-Computer Communication“. In: The Art of Human-Computer Interface Design. S. 309–317, 1990
  2. P.A. Harling und A.D.N. Edwards. 1997. "Hand Tension as a Gesture Segmentation Cue." In: Progress in Gestural Interaction, S. 75–88.
  3. Fuhrmann T., Klein M. und Odendahl M. „The BlueWand as interface for ubiquitous and wearable computing environments“. In: Proceedings of the European Conference on Personal Mobile Communications. pp. 91–95, 2003.
  4. Pavlovic V.I., Sharma R. und Huang T.S. „Visual interpretation of hand gestures for human-computer interaction: a review“. IEEE Transactions on Pattern Analysis and Machine Intelligence. vol. 19, S. 677–695, 1997.
  5. Vladimir I. Pavlovic, Rajeev Sharma, Thomas S. Huang, Visual Interpretation of Hand Gestures for Human-Computer Interaction; A Review, IEEE Transactions on Pattern Analysis and Machine Intelligence, 1997.
  6. Huang C.L. und Huang W.Y., „Sign language recognition using model-based tracking and a 3D Hopfield neural network“, Machine Vision and Applications, vol. 10, S. 292–307, 1998.

Weblinks