• Ingen resultater fundet

Motion Synthesis By Example

N/A
N/A
Info
Hent
Protected

Academic year: 2022

Del "Motion Synthesis By Example"

Copied!
45
0
0

Indlæser.... (se fuldtekst nu)

Hele teksten

(1)

Motion Synthesis By Example

A Tutorial in 3 and 3/2 parts

Michael Gleicher

Dept of Computer Sciences

University of Wisconsin - Madison

(2)

Motion Synthesis By Example

Lecture 3: Parametric Graphs

Michael Gleicher

Dept of Computer Sciences

University of Wisconsin - Madison

(3)

Synthesis By Example

Create what you need from what you have

Have: Lots of Clips Want: Long Streams Want: Controllable

Want: Precise/Continuous

(4)

A Quick Recap

Motion Graphs

• Assemble long streams of motion from clips

• Use simple connection between clips

But only connect when things work

• Search for walks on graphs to create motions

• Discrete choices (time and value)

(5)

Think about our goals

• Create long streams

• Controllable

• Precise

• Continuous / Exact

• Responsive

?

(6)

Beyond discrete choices:

Parameterization

• How to get a range of movements

• Given only a discrete set of examples

• Result is a motion – this is not just IK

(7)

Parameterization by Blending

Use many examples

Blend examples to get in-between motions

General

Gets specific effects

Gets subtle coordinated effects

(8)

Parameterization by blending

In research since (at least) Rose et al ’98

In games for a longer time

Manual Process

Carefully aligned motions Custom crafted

parameterizations

(9)

Off-line Pre-process

Runtime

Basic Ideas of Synthesis-By-Example

Adjust Blend Sequence Examples

Database Preparation:

Extract / process example from source data such that assembly methods work

Assembly:

At run time assemble

examples using a few generic (simple) methods

Control:

Choose what is assembled to meet needs (e.g. driven by user, meet goals, …)

Run-time synthesis

(10)

SBE in Practice vs. Research

(practice has been doing it longer)

Practice (real games) Research

Preparation:

Assembly:

Control:

Planning

Careful preparation Manual adjustment Basic methods

Tweaks thrown in

Carefully crafted&tuned Structured data makes

problem easier

Automation Automation Automation Basic methods Tweaks thrown in

Parameterization

(11)

Automating Registration

• Apex of kick corresponds

• Even though motions of different lengths

Segment 1

Segment 1

Segment 2

,

Segment 2

Time alignment

(12)

Automating Blending

Registration Curves

Automatic Alignment

More detailed time warps Other alignments

(curvature, constraints)

Allowed for more things to be blended

(not just less effort)

Different Timing

Different Curvature Different Constraints

Kovar&Gleicher SCA ‘03

(13)
(14)

Automatically Finding Examples

Match Webs – Query by Example

Search database for all motions that can be

blended with an example (relatively efficiently)

Finds the registration for each match

Automatically construct parameterization

Kovar&Gleicher SIGGRAPH ‘04

(15)

Automatically find examples in data

(16)

What amounts to blend?

• Automatically map controls to blend weights

• Sampling + Scattered Data Interpolation

(17)

What amounts to blend?

• Continuous control by blend weights

• Not what we want to control

• Irregular or Large Sample Sets

• Non-linear functions

(18)

Automation helps blending!

• Reduce amount of labor

• Makes larger example sets practical

• Allows for more complex blends

• More precise control

Better parameterizations

• Surprising what examples it can find

(19)
(20)

The advantages of blending

More choices!

(potentially infinite) Not as many examples

From Kovar&Gleicher SIGGRAPH ‘04

(21)

Automated Parameterization

• Build space from all blendable examples

• Blend many examples

• Hard to QA

• Irregular data access

• Unintended diversity

(22)

Unintended diversity

• Real data has variability

• Controlled capture reduces it

• An attraction of keyframing

wasn’t sure which way to go

tired at end

stumbled

distracted by lights

(23)

Exploit this diversity?

• Using the diversity in end position already

2D parameterization

• Why not parameterize other things too?

Speed

Tiredness

Focus (or gaze direction)

Step height (march / shuffle) …..

(24)

The slippery slope of dimensionality…

• A combinatorial explosion!

High dimensional parameter spaces really hard (for blending based approaches)

• Are the dimensions even orthogonal?

• Metrics in the space (for interpolation weights)

• Need enough examples to cover space

(25)

How to get consistency?

The character should stay in character

Practice

Carefully make sure

examples are consistent

Small number of motions for Quality Assurance

Big attraction of hand animation: closer control

Research

Unintended diversity in data

Different mood, time of day, …

Harder to find the right thing

Potential tradeoffs

Less control over quality

(26)

Parametric Motion Graphs

Turning parametric clips into a character

Nodes: Represent Parametric

Motion Spaces Edges: Describe How to Transition

Between These Spaces

Like everything else, these have been used in games.

Variants have existing for a long time.

(27)

Parametric Graphs

• Each node is a range of motions

• Each node has a range of beginnings and endings

(28)

Parametric Transitions

?

(29)

How to make transitions between parametric spaces?

• In practice (?)

Build spaces that just work

Accept the occasional bad blend

• In research

Force common pose (Shin&Oh SCA ’06)

Find allowable ranges (Heck&Gleicher I3D ‘07)

(30)

Fat Graphs

(Shin & Oh 2006)

(31)

Parametric Transitions

(Heck & Gleicher 2007)

(32)

Method: Data Extraction

K-Nearest Neighbor Interpolation

(33)
(34)

Parametric Graphs Address Scalability organize motion synthesis

• Independent parametric nodes

Automatically determined blends (our stuff) Or anything else you want

• Need transitions between spaces

Not all motions connect to all others

(35)

The end of graphs?

What’s beyond this

(36)

The end of graphs?

(37)

Graphs in the limit?

• Consider ALL connections

• Not just good ones

Avoid bad transitions, but use if necessary

(38)

Graphs in the limit

• Consider poses “in-between” samples

• Any combination of poses could be considered

(39)

Beyond Graphs

• Continuous space of poses

Entire blend space?

Entire pose space?

• Use discrete samples as priors

What might be good poses?

• “state” is no longer discrete

(40)

No Graph?

Motion Fields for Interactive Character Animation

Yongjoon Lee Kevin Wampler Gilbert Bernstein Jovan Popovid Zoran Popovid

SIGGRAPH Asia 2010

I did not do this, but I wish I had

(41)

Play video as external file because of codec issue

(42)

Advantage of Synthesis-by-Example

Actors* are directable (* or good keyframe animators)

Can do a range of things a range of ways Consistency in performance

Relatively easy to get desired examples

Get different motions, styles, subtleties Without having to model each one

Easier to scale to diverse repertoire, with acting subtleties, get the directors intent, …

Why is Synthesis-By-Example so pervasive in games?

(43)

Disadvantage of SBE: No Model!

Rely on examples

Which may not apply to other situations

Limited adaptability

Simple methods work when “close” to examples Aren’t responsive to the situation

Larger repertoire (usually) means larger library

Scalability?

2 ways to make things better:

1.Use more examples 2.Use examples better

#2 is more likely to scale up

Lessons of #1 may tell us something

(44)

Two Approaches

Model-Based / Algorithmic

Generate motions algorithmically

Craft methods for motions

Motion complexity handled by clever algorithms

Develop models per motion

Have a motion model

Generate more motion

Synthesis-By-Example

Assemble new motions from example data

Simple, generic algorithms

Motion complexity comes from example data

No per-motion models

No motion model

Limited adaptability

Where does motion come from?

Approach 2 ½:

Use examples to derive models

Does this get the best (or worst) of both?

(45)

Thanks

The students&collaborators who did the work

Lucas Kovar (motion graphs, registration curves, families, …) Rachel (Heck) Rose (parametric graphs, …)

Mankyu Sung (crowd simulation)

Hyun Joon Shin (snap-together math, physics touchup)

The rest of our group

The people who supported us financially

Original research supported by NSF, UW Grad School

The people who gave us data and challenges

House of Moves / Vicon (Taylor Wilson), EA, Demian Gordon, Rockstar Vienna, (and a whole lot of others)

You – for listening

Referencer

RELATEREDE DOKUMENTER

• Motion Adjustment to exactly meet goals.. Example

Blend weights offer poor controls. We need more

This conception is echoed in work that is not explicitly labelled as strategy work, but which shows, for example, how the social dynamics of

The different methods used can then be applied to the simulated data to see if they are able extract the original sources in S even though the data does not contain the peak from

CyberForensic TimeLab is a timeline visualisation tool developed by Jens Olsson and Martin Boldt [OB09]. This tool can scan multiple source files or data structures to extract

4.3: Example of balanced incomplete block design 4.5: A heuristic design (an inadequate design example) 4.7: Incomplete balanced block designs and some definitions 4.9: Data and

During the problem solving process the work group will need support from experts, as for example the organisation of a conference and the teaching of facilitation tools.. In this

In that an estimate of the whole structure, and not just of some salient features, is sought, it is customary to proceed with a multiple view stereo algorithm, where the