einsatzgebiete von virtual human als internet-agent...

28
377 Erklärung technischer Geräte Persönliches Training in virtuellen Räumen Lernen im sozialen Kontext Verkauf und Beratung 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

Upload: lamhuong

Post on 17-Sep-2018

218 views

Category:

Documents


0 download

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

431

Scene Editor

432

Character Editor