einsatzgebiete von virtual human als internet-agent...
TRANSCRIPT
377
Erklärung technischer Geräte
Persönliches Trainingin virtuellen Räumen
Lernen im sozialen Kontext
Verkauf undBeratung
Einsatzgebiete von Virtual Human als Internet-Agent
378
Vorteile körperhafter Agenten
• Können Körpersprache einsetzen• Senken Hemmschwelle = erhöhen
Akzeptanz• Erhöhen Motivation und Aufmerksamkeit• Können eigenständig Aufgaben lösen• Können emotionales & soziales Verhalten
ausdrücken• Können im vorgespielten Dialog informieren
379
HauptfensterVideofenster
(Abspielen frame-by-frame) Spur-Fenster
aktiveSpur Annotationselemente Video-Position
aktivesElement
Annotations-Board
Spuren
Waveform(pitch/intensity)
Das Annotationswerkzeug Anvil(Dissertation M. Kipp)
380
emblem.attention[HF=Forefinger, Orient=FU]→ (Efron 1941)→ (Calbris 1990)→ (Saitz/Cervenka 1972)...
iconic.away[Orient=PI, Pos=center,Move=AB/straight]→ (Efron 1941)→ (Payrató 1993)
metaphoric.progress[Move=circ/alt/progressive]→ (McNeill 1992)→ (Payrató 1993)→ (Webb 1997)...
Klassifikation von Gesten
381
Phasen von Gesten
stroke preparation stroke retractionemblem.dismiss...wipe
emblem...preparation stroke
metaphoric.conduit-flingpreparation
382
Metaphorische Gesten: Von der Empirie zum Einsatz in Virtual Human
In diesem Buch geht es...
kastenförmigesObjekt
ähnlich
Metapher für
Behältnis-Geste
Buch
...illustrieren das Gesagte. metaphorisch.
383
3D-Modellierung des Planetensystems durch die rmh new media GmbH mit Maya
384
Projektionsaufbau für den ersten Demonstrator des Virtual Human Projekts
Rückprojektion2 x 2 Projektoren (Doppelte Stereoprojektion)Mitsubishi XD 300UPassiv StereoGrafikkarten: FX 5900 nVidiaGraphiksystem: AvangoLinux PCs
385
Systemarchitektur der ersten Version von Virtual Human
Avango (IMK):- Renderer, C++,
Linux- Gigabitethernet
Steuerprogramm (IMK):- GUI für Avango,
Linux, Java
Crosstalk (DFKI):- Dialog-Engine- Win2000, Java
RenderServer(Charamel):- Charaktere, TTS- Win2000, C++
Mesh XML-MessagesCorba, Gigabit
386
- Monitor
- Powerwall
- Curved Screen
- CAVE
-….
Di re
ctio
n ML
Play
erM
L
- Narrations-komponente
- Improvisations-modul
ZGDV
- Pädagogisches Modell
IMK
- Narrations-komponente
- Improvisations-modul
ZGDV
- Pädagogisches Modell
IMK
Narration- Core
Dialog Engine
- Gestikon- Emotion- Scheduler- Kontext
DFKI
- CoreDialog Engine
- Gestikon- Emotion- Scheduler- Kontext
DFKI
Dialog Player(Avalon)
Internet-ExplorerInternet-Explorer
Visualisierungs-plattformen
Die Grobarchitektur von Virtual Human für die weiteren Entwicklungsphasen
-Skin&Bones-Morph Targets-IK-Engine-Rendering
Markierungssprachen
IGD
387
Dire
ctio
n ML
Play
erM
L
- Narrations-komponente
- Improvisations-modul
- Pädagogisches Modell
IMKZGDV
- Narrations-komponente
- Improvisations-modul
- Pädagogisches Modell
IMKZGDV
Narration- Core
Dialog Engine
- Gestikon- Emotion- Scheduler- Kontext
DFKI
- CoreDialog Engine
- Gestikon- Emotion- Scheduler- Kontext
DFKI
Dialog Player
Internet-ExplorerInternet-Explorer
Visualisierungs-plattformen
- Powerwall
IGD
- 3D-Rück-projektions-installation
IMK
Die Grobarchitektur von Virtual Human für den ersten Demonstrator
AvalonIGD
AvangoIMK
Charamel
CharaPlayerCharamel
DFKIMarkierungssprachen
388
StoryBoard
Vom Storyboard zur Narration Engine
NarrationNarration DialogDialog PlayerPlayer VisualisierungVisualisierung
Begrüßung:Tina und Richie
stehen imPlanetarium. Tina begrüßt den Schüler.
389
NarrationNarration DialogDialog PlayerPlayer VisualisierungVisualisierung
XML-Basierte Schnittstellen: DirectionML
DirectionML: Initialisierungsphase<directionML>
<object id="Background"> ....</object> <user id="User"> ... </user> <character id="Tina">
<position type="absolute"> <point x="-1" y="1"/> </position> <direction> <user id="user"/> </direction>
</character> <character id="Ritchie"> ...</character><light> ... </light> < camera > ... </camera><scene name="greet_user">... </scene>
</directionML>
DirectionML: Initialisierungsphase<directionML>
<object id="Background"> ....</object> <user id="User"> ... </user> <character id="Tina">
<position type="absolute"> <point x="-1" y="1"/> </position> <direction> <user id="user"/> </direction>
</character> <character id="Ritchie"> ...</character><light> ... </light> < camera > ... </camera><scene name="greet_user">... </scene>
</directionML>
StoryBoard
390
XML-Basierte Schnittstellen: PlayerML
PlayerML: Player Ansteuerung<playerML>
<temporalOrder> ... </temporalOrder><dialogAct>
<speaker id="Tina"/> <addressee id="user"/><emotion type="joy" intensity="0.3"/><animation type="gesture" name="wave" ... /><sentence>Mein Kollege Ritchie und ich heißen Sie herzlich willkommen ...<animation type="facial" name="Smile" ... /> ...
<dialogAct> <speaker id="Ritchie"/> ... <sceneAct> <playAudio name="welcome_music"/> ...
</playerML>
PlayerML: Player Ansteuerung<playerML>
<temporalOrder> ... </temporalOrder><dialogAct>
<speaker id="Tina"/> <addressee id="user"/><emotion type="joy" intensity="0.3"/><animation type="gesture" name="wave" ... /><sentence>Mein Kollege Ritchie und ich heißen Sie herzlich willkommen ...<animation type="facial" name="Smile" ... /> ...
<dialogAct> <speaker id="Ritchie"/> ... <sceneAct> <playAudio name="welcome_music"/> ...
</playerML>
NarrationNarration DialogDialog PlayerPlayer VisualisierungVisualisierungStoryBoard
391
Szenenvisualisierung
NarrationNarration DialogDialog PlayerPlayer VisualisierungVisualisierungStoryBoard
Herzlich Willkommen
beimVirtualHumanProjekt.
392
Aktueller Aufbau der Dialogverarbeitung
Dialog
NarrationNarration
PlayerPlayer
KontextKontext
GenerierungCore Dialog Engine
Koordination PlayerActionEncoder & Scheduler
TinaTina
CDE-ControllerCDE-Controller
RitchieRitchie UserUser
EmotionsberechnungEmotionsberechnung
ActionEncoderActionEncoder
TTSTTS GestikonGestikon
SchedulerScheduler
393
Die Affektive Komponente von Virtual Human
KonfigurationKonfigurierbarePersönlichkeitsprofileBerechnung von Emotionen und ihrerIntesitätFlexible DämpfungsfunktionEmotionsparameter
Monitor
394
hrd_exploration.navigation (text ok, flow ok)
enter quadrant X &
not visited for t sec
moved in direction X &
not moved to X for t sec
not moved for t sec
learn goals
fulfilled
Scene: describe_quadrant_X
(X = bright_cool, bright_hot, dim_cool, dim_hot)
Scene: describe_direction_X
(X = left, right, up, down, right_up, left_down)
Scene: motivate_movementQ-A+
Scene: question_quadrant X
1-correct-1-wanted
Q-A+
Scene: question_direction_X
1-correct-1-wanted
0.5
0.5
0.5
0.5
Scene: navigation_intro
T.style = expos ?T.style = expos ?
Scene: question_quadrant
Scene: exploration_finish
Dialogplan für UnterrichtseinheitHertzsprung-Russell Diagram
395
hrd_star_life.exposition
Scene: birth Scene: cooling Scene: ignition Scene: main_seq_life
Scene: first_expansion
Scene: first_burnoutScene: second_expansionScene: second_burnoutScene: afterglowScene: final_cooling
Szeneplanung für das Leben eines Sterns
396
hrd_exploration.test (text ok)
show sun (HRD + display)
Q-A+
Scene: question_star_hrd_location_X
1-correct-1-wanted
Scene: explain_sun_location
Q-A+
Scene: question_sun_hrd_location
1-correct-1-wanted
show random star (display only)
location of sun unknown
if learn goals fulfilled:
2x correct
Scene: test_finish
(summary & evaluation)
location of sun known
Scene: star_location_briefing
default
Frage-Antwort-Dialogplanung
397
Interaktives Edutainment: Virtual Human erteilt „Benimm-Unterricht“
Angestrebtes zweites Demonstrator-Szenario: „Benimm-Regeln“ für SchülerLernziel: respektvoller Umgang, verantwortungsvolles Miteinander
- Höflichkeit, Pünktlichkeit- Verhalten in der Öffentlichkeit- Verhalten im Museum, Theater- Umgang mit Eigentum („Mein & Dein“)- Bewerbungsgespräche
Darstellung durch Charaktere: Nina Nett, Rudi Rüpel...
Wer's glaubt!
398
Die Wolke, aus der der Protostern besteht, wird immer dichter. Wer's glaubt!
Edutainment für Benimmregeln:Nina Nett und Rudi Rüpel
399
Dadurch steigen Druck und Temperatur.
Im Innern sammelt sich Wasserstoff.
Irgendwann ist es so heiß, dass
die Wasserstoffkerne verschmelzen
und dabei Energie freisetzen.
Mir ist auch heiß!
Edutainment für Benimmregeln:Nina Nett und Rudi Rüpel
400
Also Ritchie. So geht das nicht.
Du kannst nicht immer ungefragt deinen Senf dazugeben.
Wenn das noch mal passiert, schreibst du
für morgen ein Stundenprotokoll!
Edutainment für Benimmregeln: Nina Nett und Rudi Rüpel
401
Also, die Wasserstoffkerne
verschmelzen und setzen
dabei Energie frei. Das nennt man
Kernfusion.
Edutainment für Benimmregeln:Nina Nett und Rudi Rüpel
402
Spin-off Anwendungen
AnnimierteVideonachrichten für
HandysWebbasierte Agenten
Interaktives Schaufenster
animago 20031. Preis Education / InteractiveVirtuelle CharacterWiseman
Spin-off Firmengründungwww.mocito.de
403
Verschicken von Grußbotschaften mittels virtueller Charaktere auf mobile Endgeräte
Benutzer gibt beliebige Texte ein und wählt einen virtuellen Charakter mit entsprechender Emotion aus
Server generiert adaptiertes Video
Empfänger erhält Video (über MMS, HTTP, etc.)
Text wird von dem virtuellen Charakter gesprochen
© Charamel GmbH
CharActor Mobile als Virtual Human Spin-off
404
Tandemprojekt zwischen DFKI und VW-Autostadt: Bewertung und Weiterentwicklung des Präsentationsagenten im Projekt „Knowledge Gate“
Interaktive Erläuterung verschiedener Scheinwerferkonzepte von VW-PKWs
405
Tandemprojekt zwischen DFKI und VW-Autostadt: Bewertung und Weiterentwicklung des Präsentationsagenten im Projekt „Knowledge Gate“
Interaktive Erläuterung verschiedener Scheinwerferkonzepte von VW-PKWs
406
Ziele für den Erstellungsprozess der visuellen Darstellung des Virtual Human
– Erstellung eines Virtuellen Charakter-Modells:• Grundskelett• Geometrieoberfläche• Texturen• Animationen für Körper und Gesichtsbewegungen
– Erstellung der Animationsdaten ist sehr aufwendig (motion capturing)
– Bewegungen des Charakters sind festgelegt geringe Parametrierbarkeit
– Einsatz von Algorithmen, um Animationsdaten online zu generieren!
• Inverse Kinematik• Kollisionserkennung und -behandlung
407
xy
z
11.5
11.4
11.2
10.2
10.4
10.10
10.810.6
2.14
7.1
11.6 4.6
4.4
4.2
5.2
5.4
2.10
2.122.1
11.1
Tongue
6.26.4 6.3
6.1Mouth
8.18.9 8.10 8.5
8.3
8.7
8.2
8.8
8.48.6
2.2
2.3
2.6
2.82.9
2.72.5 2.4
2.12.12 2.11
2.142.10
2.13
10.610.8
10.4
10.2
10.105.4
5.2
5.3
5.1
10.1
10.910.3
10.510.7
4.1 4.34.54.6
4.4 4.2
11.111.2 11.3
11.4
11.5
x
y
z
Nose
9.6 9.7
9.14 9.13
9.12
9.2
9.4 9.15 9.5
9.3
9.1
Teeth
9.10 9.11
9.8
9.9
Feature points affected by FAPsOther feature points
Right eye Left eye
3.13
3.7
3.9
3.5
3.1
3.3
3.11
3.14
3.10
3.12 3.6
3.4
3.23.8
MPEG4 Gesichtsanimation
• Künstliches Gesicht:– Kontrolle der Animation erfolgt
über wenige Parameter• Modell- und
Animationsparameter– Facial Definitions Points (FDPs)– 3D-Mesh Modell– Face Texturen– Facial Animation Parameters
(FAPs)– Facial Interpolations Tables (FIT)
408
MPEG4 Gesichtsanimation
409
Ziele für den Erstellungsprozess der visuellen Darstellung des Virtual Human
Extrem realistische Simulation in Echtzeit von– Haut– Augen– Haaren– Mimik
• Sprachsynchrone Ansteuerung• Lippen
– Körperbewegungen• Lokomotion• Körpersprache• Gesten
– Skins&Bones– Morph Targets
410
Technologische Grundlagen• Darstellung der Szene und des virtuellen
Charakters:– Avalon-Player:
• Renderengine basiert auf OpenSG• Kompatibel zu VRML97 (ISO IEC 14772:1997)
– Sehr gute Möglichkeit des Datenaustauschs
• Verwendete Technologien zur Animation von virtuellen Charakteren:– Skins & Bones: Körperanimation– Morph-Targets: Gesichtsanimation
411
• Skins & Bones:– Das Grundgerüst des Charakters
besteht aus Bones– Über den Bones ist eine Hülle
gelegt (Skin)• Dreiecke und Eckpunkte
– Jeder Eckpunkt des Skins ist >=1 Bone zugeordnet
– Einfluß der Bones auf einen Eckpunkt ist gewichtet
• Animationen mit Skin&Bones:• Jegliche Animationen wirken auf die
Bones• Das Mesh (Skin) wird entsprechend
deformiert
Technologische Grundlagen
412
Technologische Grundlagen
• Morph Targets– Ein Mesh mit definierter Topologie– Unterschiedliche Sets an
Eckpunktkoordinaten• Emotionen• Viseme
• Animation von Morph Targets– Interpolation zwischen Meshes– „Blending“ mehrerer Meshes
• Z.B. Emotion + Visem• Gewichtung problematisch!
413
Inverse Kinematik• Problemstellung:
– Zu einer gegebenen Position im Raum wird eine Zeigegeste generiert
– Einhaltung von bio-mechanischen Nebenbedingungen
– Selbstdurchdringung des Körpers verhindern
• Fähigkeiten IK-Engine: – unter Angabe einer Zeigerichtung wird
eine Zeigegeste animiert, die den gesamten Arm und die Hand umfasst
– Der näher am Zielpunkt gelegene Arm wird automatisch ausgewählt
– Schnittstelle: Koordinaten in x,y,z und Dauer der Animation in Sekunden
– Test der Körperteile auf Kollision
IK mit Arm
414
Inverse Kinematik
Implemetierungsvarianten in Avalon:1. Neuer Humanoid-Knoten
• Direkter Zugriff auf alle graphischen Elemente des Avatars
2. Interpolatorähnlicher IK-Knoten• Direkt verbunden mit Skelett des Avatars
3. Neuer Joint-Knoten• Auf beliebige Ketten von Gelenken anwendbar
4. IK-Modifikator• Propagiert die für IK notwendigen Änderungen
an Parent-Kette
H-Anim Skelett
415
Realistische Darstellung: Haarsimulation
Problemstellungen:– 200.000-400.000 Haare – Dynamik
– Realistische Simulation aller Haare in Echtzeit nicht möglich!
– Tradeoff zwischen Performanz und Realitätsnähe
Unser Ansatz:– Simulation von Strähnen– Spezielle Renderingtechnologien für Haarsträhnen
416
Haarsimulation: Strähnen und Dynamik
Unser Ansatz mittels Masse Feder Simulation– Komplexität reduzieren durch Zusammenfassen von
Haaren zu Strähnen– Jede Strähne ist ein Masse-Feder System– Masse-Feder System basiert auf Relaxation– Kollisionserkennung und –behandlung
• Approximation der Kopfgeometrie durch Kugeln (Position, Radius)
• Test Massepunkte gegen Kugel• Sehr hohe Performanz
– Im Early-Demonstrator-Beispiel:• 700 Strähnen• Jede Strähne besteht aus 12 Massepunkten
417
Haarsimulation: Visuelle Darstellung
Kombination verschiedener Renderingtechnologien:– Auflösung der Strähnen in Haare über Multitexturing
• Gestreifte Textur mit Alphablending liefert Feinstruktur• Specular Map definiert lokal unterschiedlichen Glanz• Darstellung der Umgebungsbeleuchtung über
Environment Mapping
– Multitexturing: Fragment Shader auf Graphik-Hardware• Ausnutzung der neuen Hardware-Möglichkeiten• Realisierung spezieller Blendverfahren
418
Realistische Darstellung: HautsimulationProblemstellung:
– Transluzenz der Haut führt zu weicheren Schatten
• Mit Standard-OpenGL nicht abbildbar („Plastik“)– Viele Feinstrukturen (Poren, Haare, Fältchen)– Keine einheitliche Farbe
419
Hautsimulation– „Niedrig“ aufgelöste Textur für Hautzonen– Gekachelte Detailmap liefert Feinstruktur– Specular Map definiert lokal unterschiedlichen Glanz– Darstellung der Umgebungsbeleuchtung über
Cube Mapping– Bump Map für Hautstrukturen
• Kombination von Bump- und Vertex-Normalen• Keine aufwendige Berechnung zur Laufzeit• Höhere Performanz
420
Spezifikationen
Narrative Narrative KomponentenKomponenten
Conversation EngineConversation Engine
DirectionMLDirectionML
StoryModelMLStoryModelML, , SuspenseMLSuspenseML
– StoryModelML: Modell der Grundstruktur der Erzählung
– SuspenseML: Metadaten der Szenen für die narrative Komposition zur Laufzeit
– DirectionML: Anweisungssprache für die Kommunikation mit anderen Modulen
421
Spezifikationen
Narrative Ontologie
422
Narration Engine
Zusammenspiel Narration- und ConversationEngine
– Abstrakte Anweisungen zur Konversationsgestaltung und zum -thema
Beispiel: An Charakter 1 und 2: „Sprecht über die Sonne“
– Direkte Anweisungen für geskripteteAnweisungen
Beispiel:Charakter 1: „Woraus besteht die Sonne?“Charakter 2: „Größtenteils aus Helium!“
423
Narration Engine
Storymodul– Verschiedene
Storymodelle• Propp Modell• Lernmodell• Spielmodell
– Bringt Geschichte immerzum Abschluss
– Überwacht inhaltlicheKonsistenz
– Spannungsorientiert
424
Narration Engine
Szenenmodul– Baut Szenen auf
• Requisiten• Charaktere• Licht• Kamera
– Überwacht Handlungsablauf– Basiert auf Storybeats– Szenenrelevante Interaktionssteuerung
425
Narration Engine
StoryModelML–Modellhafte, allgemeine Beschreibung
von Geschichten–Regeln für den allgemeinen Ablauf–Definiert mögliche Szenentypen
426
Narration Engine
SuspenseML–Baut auf Szenentypen auf–Abstrakte Szenenbeschreibung–Definiert Zusammenhänge der Szenen
untereinander–Bringt „Roten Faden“ in die Geschichte
427
Narration Engine
DirectionML–XML-basierte Beschreibung der
Storybeats–Asynchrones Protokoll–Kommunikation mit nachfolgenden VH-
Modulen–Angelehnt an Sprache und
Ausdrucksweisen bei Film und Theater
428
Das pädagogische Konzept
• Transfer einer Lektion in ein Datenmodell– Schüler/Lehrer Szenario– Emotionale Zustände (Schüler und Lehrer)
• Wissensrepräsentation– Lernziele der Lektion– Einordnung des Schülers anhand seines Vorwissens– Aufbau der Lerneinheiten– Überprüfung des Lernerfolges
• Ontologie– Erstellung mit (open source) Werkzeug Protegé-2000
429
Ontologie mit Protegé-2000
430
Virtual Human Story Editor• Basisversion des Storyeditors–Graphen-basiertes Storymodell
mit 3 Ebenen –Eingabe der Storydaten über
kontextbezogene Masken–Erste Visualisierung der Szenen-
Übersicht über Tree-View–XML-Export-Funktionalität