• Ingen resultater fundet

Motion Synthesis By Example

N/A
N/A
Info
Hent
Protected

Academic year: 2022

Del "Motion Synthesis By Example"

Copied!
56
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 2: Motion Graphs

Michael Gleicher

Dept of Computer Sciences

University of Wisconsin - Madison

(3)

Review

• Synthesis by Example

Get good examples

Put them together in simple ways

• Concatenation in practice

Motion graph

Well-planned clips

Contrived graph structures

(4)

Example-Based Synthesis

Capture the detail, subtlety and complexity

Good News:

We don’t need to model all the complex things!

Bad News:

We don’t have a model to generate what we didn’t capture!

(5)

Synthesis By Example

Create what you need from what you have

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

Want: Precise/Continuous

(6)

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

(7)

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 Planning simplifies

Automation Automation Automation Basic methods Tweaks thrown in

Search

Pre-Processing

(8)

Lecture 2

• Automatic graph construction

Reduce planning! Use found motions!

• Using a motion graph

Search to create motions Interactive control

• Other approaches to interactive control

(9)

Concatenation

Put clip after clip after clip …

+ +

(10)

Transitions

Some transitions are hard

? Some transitions are easy

(11)

Simple Transition Methods

+

Cut transition Blend Transition

(12)

Motion Graphs (aka Move Trees)

Some transitions are easy – remember which

(13)

Graph Notation

walk

Edge = clip

Node = choice point Graph walk = motion

stand

stop

start walking walk start walking

stand stop

Edge = valid transition Node = clip

Graph walk = motion

(14)

Transitions

Some transitions are hard

? Some transitions are easy

(15)

When do transitions work?

• Blend to avoid bad artifacts

(16)

Determining potential transitions

• Need to account for derivative continuity

• Joint angles are difficult to compare directly

• Need coordinate invariance

– Effect of perturbation (e.g., rotate shoulder) depends on pose

– Different camera ≠ different motion!

(17)

What is Similar?

Factor out invariances and measure

2) Extract windows

3) Convert to point clouds 4) Align point clouds and sum squared distances 1) Initial frames

Kovar et al 2002, and others – see Kovar’s thesis for discussion

(18)

Do you need this?

• Many similarity metrics

• Everyone has an opinion

• Some methodical comparison

• Complex methods might not be worth it

(19)

Building a Motion Graph

Find Matching States in Motions

(20)

Building a Motion Graph

(21)

Finding Transition Points

Every pair of frames now has a distance.

Transitions are local minima below a threshold.

Motion 2 Frames

Motion 1 Frames

(22)

Motion Graphs

Kovar et al, Arikan&Forsyth, Lee et al. – All SIGGRAPH 02 and many other variants since

Start with a database of motions

Goal: add transitions at opportune points.

Motion 1

Motion 2

Motion 1

Motion 2

(23)

Structure of Motion Graphs

Opportunistically built graphs can be hard to search – especially for quick control

(24)

Structured vs. Unstructured Graphs

Gleicher et al. I3D 2003

(25)

What can you do with a graph?

• Any walk on the graph is a valid motion

• Random Walks

• Search for Walks that meet constraints

• Make decisions in response to controls

(26)

Circa 2001…

(27)

Search to goal

Search for a walk on the graph (sequence of clips) that meets the goals

(28)

Search to a Goal

• Use your favorite discrete search

• Planning-like problem

(29)

Path Quality Tradeoffs

Discrete choices:

Can’t get exactly to goals

Discrete choices:

Closest fit might not be a good path

(30)

Bad paths happen

(31)

``

From here to there…

Start

Goal

(32)

Objective:

Path close to goal

(33)

Search for walks on the graph that

minimize the goal

(34)

Best answers depend on your

repetiore

(35)

Getting exactly there, might have

other issues

(36)

Path Following

Kovar 2002

• Minimize distance to path (over whole path)

• We used branch-and-bound

(37)
(38)
(39)
(40)

More Complex

Safanova and Hodgins 2007

• Better search

• Better graphs

(41)

Planning vs. Synthesis

Pose

Orientation Position

Time duration

Target

Initial

Planning

Synthesis

(42)

An Aside

How do you get from here to there in practice?

• Separate path planning from movement

• Character follows correct path

• Animation “in-place” to make it look better

(43)

Multi-Level Solutions

Different methods for different aspects

• Motion planning to get rough path

• Motion synthesis to follow path

Possibly only gets close

• Motion Adjustment to exactly meet goals

(44)

Example Multi-Level Solution

Sung, Kovar, Gleicher SCA 05

Motion Planning:

PRM-based

Motion Synthesis:

Greedy search of structured graph

Fine Adjustment:

Distribute error

(45)

Interactive Control

Did we solve the right problem?

(46)

How do you do interactive control?

Gleicher et al. I3D 2003

(47)

Automating Interactive Graphs

• Automate construction of contrived graphs

• Do a little searching for what works

Precompute searches / Reinforcement Learning

(48)

Automatically find examples in data

(49)

Snap-Together Motion

Gleicher, Kovar, Shin, Jepsen 2003

• Find those key nodes (poses)

(50)

Snappable Motions

A different way to think about transitions

• Want motions that match exactly

Match pose and derivatives (at multiple scales)

(51)

Make them match

Transition to common pose

• Make common poses in motions

For things that start out close enough

Average or Common Pose

(52)

Semi-Automatic Graph Construction

• Pick set of match frames

User selects

System picks “best” one

• Modify motions to build hub node

• Check graph and transitions

(53)

Snap-Together Motion!

Original Motion

Base pose

Similar frames

Snappable Motion

(54)
(55)

SBE in Practice vs. Research

(practice has been doing it longer)

Practice (real games)

Careful Preparation

Well planned data sets

Carefully chosen examples

Manual data preparation

Careful design simplifies control

Research

Automation

Less control over data

Automate search for examples

Automatic data preparation

Clever search for control with arbitrary data

(56)

Does automation help with scalability?

• Yes – it allows working with more data

• No – lack of control creates new problems more data means more problems

• Potentially – we need to do more research

Referencer

RELATEREDE DOKUMENTER

Forskning, hvor deltagerne bliver vaccineret vaccineret efter længerevarende motion eller efter længerevarende motion eller maratonløb maratonløb , , viser, at

It is found that emotion coordinates tend to the inferior anterior part of the medial prefrontal cortex while cognitive tend to the posterior superior part in this region. On

• Def.: Estimation of 3D pose and motion of an articulated model of the human body from visual data – a.k.a.. • Marker-based motion

Blend weights offer poor controls. We need more

It was hypothesized that experimental interspinous ligament pain will decrease anti-directional, pro-directional motion and joint motion variability during cervical flexion

To model the distribution of textures we propose an unsupervised learning approach that models texture variation using an ensemble of linear subspaces in lieu of the unimodal

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

Standardised measurement techniques used to collect the following data in a cohort of infants with torticollis: cervical range of motion – rotation (a), cervical range of motion