8 downloads 12 Views 559KB Size Report
First female Synthespian. Plan For Today. • Topics. – Advanced Techniques in articulated figure motion. • Genetic Methods. • Human motion and models.

Paper Summaries • Any takers?

Articulated Figures IV Advanced Algorithms

Projects • Presentations – Schedule is now up on Web site – Please e-mail me with your preference of presentation day/time • First come, first served

Plan for Articulated Figure Motion • Articulated Figure Motion – Last Monday: Intro / Forward Kinematics / Spacetime Constraints – Last Wednesday: Inverse Kinematics – Today: Walking / Assignment #4 – Wednesday: • Advanced Techniques in Articulated Figure Motion

– Next week • Character animation / Motion Capture

Motivation Films • Virtual Performers – Diana Walczak and Jeff Kleiser – Synthespian, (Synthetic Thesbians) – Now does Commercials and SFX for films

Motivational Film • Sextone for President (1988) – One of the first digital humans

• Mortal Kombat Annihilation • X-Men



Motivational Film • Don’t Touch Me (1989) – First female Synthespian

Plan For Today • Topics – Advanced Techniques in articulated figure motion • Genetic Methods • Human motion and models

Articulated Figures

Role of Animation • Degrees of freedom – Number of parameters whose values must be defined in order to fully position the articulated figure „Purpose of animation „Provide values to each of the DOF for each time step.

The Role of Animation • So how does one do this?

Alternate Approach • Use of genetic algorithms

– Kinematic approaches • Forward Kinematics • Inverse Kinematics

– Dynamical approaches • Physical simulation

– Spacetime Constraints – Use of Empirical / Motion capture data


Genetic Algorithms

Genetic Algorithms Initialize population

• Genetic Algorithms

Select individuals for crossover (based on fitness function

– Class of adaptive algorithms used to solve search and optimization problems that are based on evolution and “survival of the fittest” – Populations of solutions are evolved with most fit solutions mated and mutated to form next generation of solutions.



Insert new offspring into population Are stopping criteria satisfied?


Genetic Algorithms • Genetic Algorithms – Coding - Solution to a given problem must be encoded by a data structure (e.g. lists, arrays, trees). – Reproduction - operators must be defined, on the solution data structure for

Genetic Algorithms • Crossover and Mutation of trees crossover


Before crossover After crossover

Before mutation After mutation

• crossover (offspring of 2 parent solutions) • mutation (modification of a single solution)

Genetic Algorithms • Genetic Algorithms – Fitness -- function that, given a solution encoded using a data structure, evaluates the “goodness” or “fitness” of this solution. – Convergence -- if defined correctly, successive generations will produce better solutions so that fitness converges to the optimum.

Genetic Programming • Subarea of Genetic Algorithms – Structures being manipulates (individuals of populations) are “functional programs” – Data structure is a parse tree


Genetic Programming

Genetic Programming & Texture

• Mutating parse trees (sin (+ (- (grad-direction (blur (if (hsvto-rgb (warped-color-noise #(0.57 0.73 0.92) (/ 1.85 (warped-color-noise x y 0.02 3.08)) 0.11 2.4)) #(0.54 0.73 0.59) #(1.06 0.82 0.06)) 3.1) 1.46 5.9) (hsvto-rgb (warped-color-noise y (/ 4.5 (warped-color-noise y (/ x y) 2.4 2.4)) 0.02 2.4))) x))


Genetic Programming and Animation • Applying GP to animation – Gritz & Hahn (1995) – Joint angles controlled by mutated control programs represented as parse trees

Genetic Programming and Animation • Coupled motions – Note that “nodes” in parse trees can refer to internal state of articulated figures: • Current joint position • Current desired joint position • Velocity / Acceleration at a given joint

Genetic Programming and Animation • Introducing Dynamics – Control programs actually define “desired” joint angle – Motion is determined by physical simulation using simple spring model to determine torques at joints

Genetic Programming and Animation • Evaluating Fitness – Fitness function evaluates a given motion sequence • Start / End configuration • Statistics maintained during motion generation • User defined based on goal

– Allows for coupled motion


Genetic Programming and Animation • Evaluating Fitness

Genetic Programming and Animation • Genetic Luxo

– Like with the IK solution • Main Goal • Style Points

– Example • Goal: get from point A to point B • Style points – – – –

Bonus for completing motion early Penalty for movement after goal is met Penalty for hitting head or falling over Bonus for ending with joints at neutral angles.

Taking Genetics to the Extreme

Creature Morphology

• Sims (1994) – Not only used GP as a means for defining motion but also used it to evolve creatures for performing given motions

Creature Control • Creator has: – A body – Sensors • World as experienced by a given joint in the body

– A Brain • Containing neutrons which are the nodes of a parse tree • Nodes for internal state (via sensors)

Creature Control • Sensors – World as experienced by a given joint in the body • Joint angle sensors (current joint angle values) • Contact sensors (collision detection) • Photosensors (reaction to global light source)

– Effectors • Controls joint force to be applied at each joint angle • Motion is generated via physical simulation


Creature Control

Combining Brain to body

Defining fitness


• Fitness determined by observation of motion for a given task – Examples • Swimming – locomotion amongst a viscous force field. – Straight swimming given more points than circular

• Walking – Locomotion over land

• Jumping – Maximum height off of ground

• Following – Follow a light source

Evolving Creatures • Galápagos (1997) – Interactive museum installation that allows visitors to "evolve" 3D animated forms. – Visitors act as fitness function by determining which creatures they like the best

GP and Animation • This is clearly a case where we’ve crossed the line between Graphics and AI – Creatures, given a task, are “learning” via GP how to best perform the task. – Functional control programs represented and manipulated as parse trees

• Questions/Comments? • Break.


Noise • From SIGGRAPH Bowl III (1998) – Ken Perlin, who stays in New York City because he really likes the noise.

• Life is random – Randomness in textures – Randomness in motion

• Natural things require a level of randomness – For CG & Animation, randomness must be controllable.

Noise • “Controlled” Noise function

Noise • Perlin Noise – Controllable random number generator – Emphasized importance of stochastic functions in texture design – Very efficient in time and space – Implemented as a basic operation in the MMX chipset – Won Ken an Academy Award

Noise • Noise frequency and detail

– white noise = noise at all frequencies – control the frequency of the noise used – e.g. noise (2x) will contain twice as much frequency (detail) as noise(x)

Noise in procedural shading/modeling

Procedural Gestures • Applying the principles of procedural textures to animation. • General approach – Define individual motions (gestures) – Combine gestures into fluid motion – Use noise to eliminate repetition.

• Example: dancer (LINK)


Hierarchical Model

Defining Actions • For each joint angle define: – Min – Max – Interpolation Method • Sin / Cos • Noise

Defining Actions s1 =

1 + sin t 2

s2 =

1 + sin 2t 2

n1, n2, n3 = noise expressions

Combining actions

Combining actions • Each action will have associated with it a weight: – Weight defines the contribution of the gesture to motion – Weights are time-varying – Allows for even transition between actions

The system • Like with his procedural texture system – Provides a framework for programmable motion. – Real trick is using the system to achieve given results • Defining actions • Defining time dependent weight functions

– Used as basis for a high level directing system (as we’ll see in a couple of weeks)


Demo • Danse Interactif (1994) – Ken Perlin, NYU Media Research Lab

Standard Human Hierarchies • H-Anim – Goals • specify a way of defining interchangeable humanoids and animations in standard VRML 2.0 without extensions. • Animations include limb movements, facial expressions and lip synchronisation with sound. • Our goal is to allow people to author humanoids and animations independently.

Standard Human Hierarchies


• H-Anim – Standard link/joint hierarchy with limits and constraints – Based on anotomical references

H-anim Examples • Nancy • Baxter • Dilbert

MPEG-4 • The MPEG-4 standard, initiated in 1995, aims at proposing tools for efficient coding of multimedia scenes. • efficient coding of diverse kind of data : – – – – –

Video Objects StillTexture Objects Face Objects Body Objects Mesh Objects



Body Animation in MPEG-4

• Work of MPEG-4 systems group was inspired and based on VRML. • MPEG-4 = VRML + extensions.

Body Animation in MPEG-4 • BAP (Body Animation Parameter) contains 296 parameters describing the topology of the skeleton. – Interoperates with the work of the H-Anim group

• The BDP set defines the set of parameters to transform the default body to a customized body optionally with its body surface, body dimensions, and texture.

Take Home Message • There are standards for human body hierarchies • Any others? – In the game word perhaps?

• Questions?

Next time • Character Animation – Levels of Control – Systems – Motion Capture

• Questions?