Interaktion mittels Gestik, Animation Bastian Könings [email protected] Proseminar Virtuelle Präsenz SS 2005 Universität Ulm 1/38 Übersicht 1. Gestik allgemein 1.1 Definition von Gestik 1.2 lexikalische Gesten 1.3 Nutzen von Gestik 2. Gestikerkennung 3. Animation von Gesten 2/38 1.1 Definition von Gestik Gestik = Gesamtheit der Gesten Geste = nonverbale Kommunikation v.a. über Arme und Hände sprachersetzend / sprachbegleitend 3/38 1.1 Definition von Gestik 4 Arten von Gesten: lexikalische Gesten (kulturell abhängig) deiktische Gesten (Zeigegesten auf Personen oder Objekte im Raum) ikonische Gesten (Abbildung der Wirklichkeit) koverbale Gesten (sprachbegleitend) 4/38 Übersicht 1. Gestik allgemein 1.1 Definition von Gestik 1.2 lexikalische Gesten 1.3 Nutzen von Gestik 2. Gestikerkennung 3. Animation von Gesten 5/38 1.2 lexikalische Gesten kulturell abhängig und müssen erlernt werden Winken Kopfnicken Achselzucken Kopfschütteln (in Indien Zeichen der Zustimmung) Zwinkern Augenbrauen hochziehen usw. 6/38 1.2 lexikalische Gesten Nordamerika, Europa: „O.K.“, „gut so“ Frankreich, Belgien, Tunesien: „Null“, „wertlos“ Japan: „Geld“ viele Länder: „Prima!", „hervorragend" Deutschland: „ein" Japan: „fünf“ 7/38 1.2 lexikalische Gesten wütender Türke wütender Grieche wütender Italiener 8/38 Übersicht 1. Gestik allgemein 1.1 Definition von Gestik 1.2 lexikalische Gesten 1.3 Nutzen von Gestik 2. Gestikerkennung 3. Animation von Gesten 9/38 1.3 Nutzen von Gestik erleichtert und unterstützt Kommunikation erleichtert Mensch-Maschine Interaktion, da Gesten intuitiv anwendbar sind Problem der Gestikerkennung macht virtuelle Charaktere realistischer Problem der realistischen Animation von Gesten Problem der automatischen Generierung 10/38 Übersicht 1. Gestik allgemein 2. Gestikerkennung 2.1 bildbasierte Erkennung 2.2 Anwendungsbeispiele 3. Animation von Gesten 11/38 2. Gestikerkennung Gestikerkennung per Datenhandschuh bildbasierte Gestikerkennung (Kamera) 12/38 2. Gestikerkennung Gestikerkennung per Datenhandschuh + zuverlässige Ergebnisse + schnelle Erkennung + umgebungsunabhängig - umständlich / lästig für den Benutzer - hohe Kosten für präzise Geräte 13/38 Übersicht 1. Gestik allgemein 2. Gestikerkennung 2.1 bildbasierte Erkennung 2.2 Anwendungsbeispiele 3. Animation von Gesten 14/38 2.1 Bildbasierte Erkennung Kombination aus Bildverarbeitung und künstlicher Intelligenz Verwendung neuronaler Netze zur Mustererkennung (Klassifikation von Eingabemustern, also Gesten) neuronale Netze sind trainierbar Unterscheidung zwischen postures, d.h. statischen Gesten (z.B. Faust) und gestures, d.h. dynamischen Gesten (z.B. winkende Hand) 15/38 2.1 Bildbasierte Erkennung Erkennung bei statischen Gesten: 1. Gaborfilterung des Bildes 2. Ergebnis (farbkodiert dargestellt) liefert Eingabedaten für neuronales Netz 3. Netz liefert neuen Bildausschnitt, auf den der Vorgang erneut angewendet wird bis die Fingerposition erkannt wurde. 16/38 2.1 Bildbasierte Erkennung neuronale Netze können die Position aller 5 Finger bestimmen jede Fingerspitze wird durch separate Verarbeitungskette mehrerer Netze erkannt 17/38 2.1 Bildbasierte Erkennung durch Erkennung der Fingerwurzel (ebenfalls durch trainierte neuronale Netze) kann die Zeigerichtung einer Hand ausgewertet werden 18/38 2.1 Bildbasierte Erkennung Positionen der Fingerspitzen können zur Steuerung eines computergenerierten Handmodells benutzt werden 19/38 2.1 Bildbasierte Erkennung + geringe Anschaffungskosten + sehr benutzerfreundlich + kann auf gesamten Körper erweitert werden - umgebungsabhängig - komplizierte Algorithmen notwendig - Geschwindigkeit durch Bildrate der Kameras zusätzlich beschränkt - kontinuierliche Gestikerkennung schwierig 20/38 Übersicht 1. Gestik allgemein 2. Gestikerkennung 2.1 bildbasierte Erkennung 2.2 Anwendungsbeispiele 3. Animation von Gesten 21/38 2.2 Anwendungsbeispiele Gestikeingabegerät zur Computersteuerung (z.B. SIVIT für Parkinson Erkrankte) SIVIT = Siemens Virtual Touchscreen Benutzeroberfläche kann per Videobeamer auf nahezu jede Unterlage projiziert werden Bedienung durch Zeigegesten auf Objekte Kamera registriert über die Konturen der Hand die Zeigegeste 22/38 2.2 Anwendungsbeispiele 3D-Kiosksystem von Rittal schwebende 3D-Objekte in photorealistischer Qualität Bewegung der Objekte per Hand Einsatz in Museen, Flughäfen, Einkaufszentren und Tourismusinformationen 23/38 Übersicht 1. Gestik allgemein 2. Gestikerkennung 3. Animation von Gesten 3.1 Keyframe-Animation 3.2 inverse Kinematik 3.3 Vertex Skinning 3.4 Anwendungsbeispiele 24/38 3. Animation von Gesten 3 Animationskategorien Keyframe-Animationen Prozedurale Systeme (inverse Kinematik) Verbindung aus vorgefertigter Animation und prozeduraler Systeme 25/38 Übersicht 1. Gestik allgemein 2. Gestikerkennung 3. Animation von Gesten 3.1 Keyframe-Animation 3.2 inverse Kinematik 3.3 Vertex Skinning 3.4 Anwendungsbeispiele 26/38 3.1 Keyframe-Animationen vordefiniert durch Motion-Capture-Verfahren aufgezeichnet In bestimmten Zeitintervallen werden Rotationswinkel, Translationswerte oder Skalierungswerte für x,y und z Achse gespeichert Berechnung genauer Werte durch lineare Interpolation zwischen zwei gespeicherten Werten Speicherung der Werte auch durch Bézier-Kurven oder B-Splines möglich 27/38 3.1 Keyframe-Animationen Kurven beschreiben Animationsverlauf anhand weniger Stützstellen Berechnung zwischen 2 Punkten aufwendig Gute Ergebnisse bei Interpolation zwischen 2 Animationen 28/38 Übersicht 1. Gestik allgemein 2. Gestikerkennung 3. Animation von Gesten 3.1 Keyframe-Animation 3.2 inverse Kinematik 3.3 Vertex Skinning 3.4 Anwendungsbeispiele 29/38 3.2 inverse Kinematik prozedurales System Animation wird anhand von Algorithmen berechnet Kinematische Kette = mehrere Glieder sind hintereinander durch Gelenke verbunden Kind Elternteil 30/38 3.2 inverse Kinematik Vorwärtskinematik: Winkelstellungen der Gelenke sind bekannt Lage des letzen Gliedes (Endeffektor, z.B. Fingerspitze) muss berechnet werden 31/38 3.2 inverse Kinematik Inverse Kinematik: Lage des letzten Gliedes ist bekannt Winkelstellungen der Gelenke muss berechnet werden es existieren unendlich viele Möglichkeiten, daher muss natürlichste Variante gefunden werden aufwendig, aber gut geeignet für Charakter-Animation 32/38 Übersicht 1. Gestik allgemein 2. Gestikerkennung 3. Animation von Gesten 3.1 Keyframe-Animation 3.2 inverse Kinematik 3.3 Vertex Skinning 3.4 Anwendungsbeispiele 33/38 3.3 Vertex Skinning Skin (Polygonnetz) wird über Skelett (Hierarchie aus Joint-Knoten) gespannt Jeder Eckpunkt der Haut (Vertex) ist mind. einem Knochen zugeordnet Einfluss der Knochenstellung auf die Eckpunkte ist gewichtet 34/38 3.3 Vertex Skinning Ändert sich Knochenstellung wird die Haut entsprechend verformt Die Haut passt sich der Armbewegung an 35/38 Übersicht 1. Gestik allgemein 2. Gestikerkennung 3. Animation von Gesten 3.1 Keyframe-Animation 3.2 inverse Kinematik 3.3 Vertex Skinning 3.4 Anwendungsbeispiele 36/38 3.4 Anwendungsbeispiele Avatare (3D-Repräsentation einer realen Person in einer virtuellen Welt) Charaktere für Film- und Spielindustrie NSCs (Nicht Spieler Charaktere, beleben virtuelle Welten) Virtuelle Assistenten (z.B. Tessa: übersetzt Sprache in Gebärdensprache) 37/38 Zusammenfassung lexikalische / deiktische Gesten Gestik erleichtert Mensch-Maschine Interaktion Bildbasierte Gestikerkennung durch neuronale Netze Gestik wichtig für virtuelle Charaktere Animation von Gesten durch Keyframe-Animationen oder prozedurale Systeme (inverse Kinematik, Vertex Skinning) 38/38