Interaktion mittels Gestik, Animation

Werbung
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
Herunterladen