Gestenerkennung

aus Wikipedia, der freien Enzyklopädie

Gestenerkennung ist die automatische Erkennung von menschlicher 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.

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.[3]

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,[4] 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.

Gestenerkennung ohne Hilfsmittel am Körper

Bei Systemen mit externer Sensorik handelt es sich zumeist um kameragestützte Systeme.[5] 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.[6] 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.[7]

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.[8] 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. ScienceDirect: Gesture Recognition
  4. 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.
  5. 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.
  6. 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.
  7. Fraunhofer-Institut für Photonische Mikrosysteme: Gestenerkennung durch Ultraschall, Presseinformation vom 20. Mai 2019.
  8. 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